zoukankan      html  css  js  c++  java
  • bzoj4511:[Usaco2016 Jan]Subsequences Summing to Sevens

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

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

    边读入,边计算前缀和

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

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

     1 #include<stdio.h>
     2 #include<string.h>
     3 #include<algorithm>
     4 using namespace std;
     5 int n,t,last[8],ans;
     6 long long sum[50010];
     7 int main(){
     8     scanf("%d", &n);
     9     ans=0;
    10     for (int i=1; i<=n; i++){
    11         scanf("%lld", &sum[i]);
    12         sum[i]+=sum[i-1];
    13         t=sum[i]%7;
    14         if (!last[t]) last[t]=i;
    15         ans=max(ans,i-last[t]);
    16     }
    17     printf("%d
    ", ans);
    18     return 0;
    19 } 
  • 相关阅读:
    2020年3月22日
    2021年3月21日
    2021年3月20日
    人件集阅读笔记02
    2021年3月19日
    2021年3月18日
    2021年3月17日
    2021年3月16日
    2021年3月15日
    梦断代码阅读笔记01
  • 原文地址:https://www.cnblogs.com/mzl0707/p/5536823.html
Copyright © 2011-2022 走看看