题
上午问过了,但是还是84,思路改了,wa,所以我还是来了,求调,悬两关
#include <bits/stdc++.h>
using namespace std;
const int N=5e6+10;
long long n,a[N],sum[N],f1=0,f2=0;
int main(){
scanf("%lld",&n);
long long ans=-1e9;
for(int i=1;i<=n;i++){
long long x;
scanf("%lld",&a[i]);
sum[i]=(sum[i-1]+a[i])%7;
}
for(int i=0;i<7;i++){
f1=-1;f2=-1;
for(int j=1;j<=n;j++){
if(sum[j]%7==i){
f1=j;
break;
}
}
for(int j=n;j>=1;j--){
if(sum[j]%7==i){
f2=j;
break;
}
}
ans=max(ans,f2-f1);
}
if(ans>0) printf("%lld",ans);
else cout<<0;
return 0;
}