CF950B.Intercepted Message

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Intercepted Message

题目描述

黑客 Zhorik 想要破解他昨天截获的两条秘密信息。每条信息都是由一系列加密块组成的,每个加密块包含若干字节的信息。

Zhorik 已知每条信息都是一个包含一个或多个文件的归档文件。Zhorik 还知道这些归档文件是如何通过网络传输的:如果一个归档文件包含 kk 个文件,文件大小分别为 l1,l2,...,lkl_{1},l_{2},...,l_{k} 字节,那么第 ii 个文件会被分割成一个或多个块 bi,1,bi,2,...,bi,mib_{i,1},b_{i,2},...,b_{i,mi}(这些块的总长度 bi,1+bi,2+...+bi,mib_{i,1}+b_{i,2}+...+b_{i,mi} 等于文件长度 lil_{i}),之后所有块会按照归档文件中各文件的顺序依次通过网络传输。

Zhorik 认为这两条信息包含的是同一个归档文件,因为它们的总长度相等。然而,每个文件在两条信息中被分割成块的方式可能不同。

你得到了两条信息中各个块的长度。请帮助 Zhorik 判断,如果 Zhorik 的假设成立,这个归档文件最多可能包含多少个文件。

输入格式

第一行包含两个整数 nnmm1n,m1051 \leq n, m \leq 10^{5}),分别表示第一条和第二条信息中的块数。

第二行包含 nn 个整数 x1,x2,...,xnx_{1},x_{2},...,x_{n}1xi1061 \leq x_{i} \leq 10^{6}),表示组成第一条信息的各块的长度。

第三行包含 mm 个整数 y1,y2,...,ymy_{1},y_{2},...,y_{m}1yi1061 \leq y_{i} \leq 10^{6}),表示组成第二条信息的各块的长度。

保证 x1+...+xn=y1+...+ymx_{1}+...+x_{n}=y_{1}+...+y_{m},且 x1+...+xn106x_{1}+...+x_{n} \leq 10^{6}

输出格式

输出归档文件最多可能包含的文件数。

说明/提示

在第一个样例中,归档文件最多可以包含 3 个文件。例如,归档文件可以包含三个文件,大小分别为 2+5=72+5=715=3+1+11=8+2+4+115=3+1+11=8+2+4+14+4=84+4=8

在第二个样例中,归档文件可能包含两个文件,大小分别为 11110=10+100=100+10110=10+100=100+10。注意,归档文件在网络传输时文件顺序保持不变,因此不能认为有三个文件,大小分别为 111010100100

在第三个样例中,唯一的可能是归档文件只包含一个大小为 44 的文件。

由 ChatGPT 4.1 翻译

样例

7 6
2 5 3 1 11 4 4
7 8 2 4 1 8
3
3 3
1 10 100
1 100 10
2
1 4
4
1 1 1 1
1

在线编程 IDE

建议全屏模式获得最佳体验