#CF771E. 熊与矩形条带

熊与矩形条带

熊与矩形条带

  • 时间限制:3 秒
  • 内存限制:256 MiB

题目描述

Limak 有一个由 22 行 nn 列组成的网格。第 ii 行第 jj 列的单元格中写有整数 ti,jt_{i,j},它可以是正数、负数或零。

一个非空矩形称为好矩形,当且仅当其中所有单元格的数字之和为 00。矩形的边必须与网格线重合,因此它只能占据第一行的一段、第二行的一段,或两行中列区间相同的一段。

Limak 想选择若干个好矩形,并要求任意两个被选择的矩形没有公共单元格。请计算最多能选择多少个好矩形。

输入格式

第一行一个整数 nn,表示网格的列数。

接下来两行描述网格。第 ii 行包含 nn 个整数 ti,1,ti,2,…,ti,nt_{i,1},t_{i,2},\ldots,t_{i,n}。

输出格式

输出一个整数,表示两两不相交的好矩形的最大数量。

样例输入 1

6
70 70 70 70 70 -15
90 -60 -30 30 -30 15

样例输出 1

3

样例输入 2

4
0 -1 0 0
0 0 1 0

样例输出 2

6

样例输入 3

3
1000000000 999999999 -1000000000
999999999 -1000000000 -999999998

样例输出 3

1

数据范围

1≤n≤3000001\le n\le300000,−109≤ti,j≤109-10^9\le t_{i,j}\le10^9。

子任务编号 分值 特殊限制
1 20 n≤8n\le8
2 40 n≤2000n\le2000
3 无特殊限制

每个测试点独立计分。