输入样例1:
7 6
2 5 3 1 11 4 4
7 8 2 4 1 8
输出样例1:
3
输入样例2:
3 3
1 10 100
1 100 10
输出样例2:
2
#include <bits/stdc++.h>
using namespace std;
int n, m;
int main(){
cin >> n >> m;
int a[n + 1], b[m + 1];
a[0] = b[0] =0;
int x;
for(int i = 1; i <= n; i++){
cin >> x;
a[i] = a[i - 1] + x;//前缀和
}
for(int i = 1; i <= m; i++){
cin >> x;
b[i] = b[i - 1] + x;//前缀和
}
int ans = 0;
for(int i = 1, j = 1; i <= n; i++){//双指针
while(a[i] > b[j]) j++;//找到第一个b[j] >= a[i]的位置
if(a[i] == b[j]){//判等
ans ++;
}
}
cout << ans;
return 0;
}