bzoj4511:[Usaco2016 Jan]Subsequences Summing to Sevens

时间:2021-03-29 20:36:46

题目大意:给个序列,求最长的连续子序列使其为7的倍数

又是一道令人欢喜的不用怎么用脑的水题。。

边读入,边计算前缀和

分别保存前缀和%7结果为1,2,3,4,5,6的第一次的位置

然后减一减就知道长度啦。

 #include<stdio.h>
 #include<string.h>
 #include<algorithm>
 using namespace std;
 ],ans;
 ];
 int main(){
     scanf("%d", &n);
     ans=;
     ; i<=n; i++){
         scanf("%lld", &sum[i]);
         sum[i]+=sum[i-];
         t=sum[i]%;
         if (!last[t]) last[t]=i;
         ans=max(ans,i-last[t]);
     }
     printf("%d\n", ans);
     ;
 }