zoukankan      html  css  js  c++  java
  • sum (bestcoder)

    sum

    Accepts: 640
    Submissions: 1744
    Time Limit: 2000/1000 MS (Java/Others)
    Memory Limit: 131072/131072 K (Java/Others)
    问题描述
    给定一个数列,求是否存在连续子列和为m的倍数,存在输出YES,否则输出NO
    
    输入描述
    输入文件的第一行有一个正整数T(1≤T≤101leq T leq 101T10),表示数据组数。
    
    接下去有T组数据,每组数据的第一行有两个正整数n,m (1≤n≤100000 1leq nleq 1000001n100000 ,1≤m≤5000 1leq mleq5000 1m5000).
    
    第二行有n个正整数x (1≤x≤1001leq xleq 1001x100)表示这个数列。
    输出描述
    输出T行,每行一个YES或NO。
    输入样例
    2
    3 3
    1 2 3
    5 7
    6 6 6 6 6
    输出样例
    YES
    NO
    【分析】不知道为什么这么做可以,可能是结论吧,这是别人的AC代码。
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    #include <time.h>
    #include <string>
    #include <map>
    #include <stack>
    #include <vector>
    #include <set>
    #include <queue>
    #define inf 0x3f3f3f3f
    #define mod 1000000007
    typedef long long ll;
    using namespace std;
    const int N=5000+5;
    bool flag[N];
    int main(){
        int t;
        scanf("%d",&t);
        while(t--){
            int n,m;
            scanf("%d%d",&n,&m);
            memset(flag,0,sizeof(flag));
            flag[0]=1;
            int s=0,x;
            bool ans=0;
            for(int i=1;i<=n;++i){
                scanf("%d",&x);
                s=(s+x)%m;
                if(flag[s])ans=1;
                flag[s]=1;
            }
            if(ans)puts("YES");
            else puts("NO");
        }
    }
    View Code
  • 相关阅读:
    有限元学习
    软件推荐-c#绘图插件echart
    驾驶证到期换证
    实战fortran77基础语法2
    c语言spline
    软件推荐-有道超级计算器
    师弟推荐软件-/mathpix
    张奎师弟参与devexpress chartControl绘图--解决了devexpress的chartControl控件不能添加系列的问题
    Struts2之Json插件的使用
    Struts2之防止表单重复提交
  • 原文地址:https://www.cnblogs.com/jianrenfang/p/5723030.html
Copyright © 2011-2022 走看看