原本输出总是会+1,只有#12能对
在输出时-1是#11#12#13#17#20错
用是用若两个数相减mod7=0,那么这两个数 mod 7的余
数一定相同做的,求大佬帮忙
#include<bits/stdc++.h>
using namespace std;
int firstl[7];
int n,sum[50010],a[50010],l[10],r[10],ans[10];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
sum[i]=sum[i-1]+a[i];
}
for(int i=0;i<=6;i++)
{
for(int j=1;j<=n;j++)
{
if(sum[j]%7==i)
{
if(firstl[i]==0)
{
firstl[i]=1;
l[i]=j;
}
else
{
r[i]=j;
}
}
}
}
for(int i=0;i<7;i++)
{
if(l[i]==0&&r[i]==0) ans[i]=-100;
else if(r[i]==0) ans[i]=1;
else ans[i]=r[i]-l[i]+1;
}
cout<<*max_element(ans,ans+6)-1;
}