#include #include using namespace std; long long int x,y,n,k,i,p; long long int a[100009], b[100009],st,dr, w[100009]; map myHash; int main() { //freopen("a.in","r",stdin); //freopen("a.out","w",stdout); scanf("%d",&n); for(i = 1; i <= n ;i++) { scanf("%d",&a[i]); } for(i = 1; i <= n ;i++) { scanf("%d",&b[i]); w[i] = b[i] - a[i]; } myHash[0] = 0; long long int sum = 0, sol = 0; for(i = 1; i <= n ;i++) { sum = sum + w[i]; if(myHash.count(sum) == 0) { myHash[sum] = i; } else { int pozition = myHash[sum]; sol = max(sol, i - pozition); } //printf("%d ",sum); } //printf("\n"); for(i = 1; i <= n ;i++) { //printf("%d ",w[i]); } //printf("\n"); printf("%d\n",sol); }