HDU 5776 sum(数学)
2016-07-30 21:50
351 查看
#include<stdio.h> #include<string.h> using namespace std; int num[100010]; int flag[100010]; int main() { int t; scanf("%d",&t); while(t--) { memset(flag,0,sizeof(flag)); int n,m; scanf("%d%d",&n,&m); flag[0]=1; for(int i=0; i<n; i++) { int a; scanf("%d",&a); if(i!=0) { num[i]=num[i-1]+a; } else { num[i]=a; } } int an=0; for(int i=0; i<n; i++) //不需要 n方 找相同的 只要再开一个数组 { if(flag[num[i]%m]==1) an=1; flag[num[i]%m]=1; } if(an==1) { printf("YES\n"); } else { printf("NO\n"); } } }依赖算法和数据结构,而不去动脑想问题了。思维僵化。
sum
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 25 Accepted Submission(s): 15
Problem Description
Given a sequence, you're asked whether there exists a consecutive subsequence whose sum is divisible by m. output YES, otherwise output NO
Input
The first line of the input has an integer T (1≤T≤10),
which represents the number of test cases.
For each test case, there are two lines:
1.The first line contains two positive integers n, m (1≤n≤100000, 1≤m≤5000).
2.The second line contains n positive integers x (1≤x≤100)
according to the sequence.
Output
Output T lines, each line print a YES or NO.
Sample Input
2
3 3
1 2 3
5 7
6 6 6 6 6
Sample Output
YES
NO
Source
BestCoder Round #85
Recommend
wange2014 | We have carefully selected several similar problems for you: 5780 5779 5778 5777 5775
相关文章推荐
- HDU 5776 BestCoder Round #85 sum (数学)
- hdu 4961 Boring Sum(数学题)
- HDU 1977 Consecutive sum II(数学)
- HDU 5776 sum (思维题)
- HDU 5776/BC 85A sum
- HDU 2058 The sum problem 数学题
- HDU-5776 Sum
- HDU 5776 sum
- HDU 2058 The sum problem [数学]
- HDU 5776 sum
- HDU 5053 the Sum of Cube(数学求立方和)
- hdu 2058 The sum problem(数学题)
- hdu 2058 The sum problem(数学题)
- hdu_5776_sum(前缀和维护)
- hdu 3113 Sum of Cubes 数学 枚举 剪枝
- HDU-2058-The sum problem(数学题技巧型)
- HDU-2709 Sumsets 数学题 dp
- hdu - 2058 The sum problem (数学题)
- hdu 5776 sum(前缀和取模)
- HDU 5776 (sum 前缀和)