codeforces 577B Modulo Sum

题目链接:【codeforces 577B】

问能不能在大小是n的数列中取出几个数,使得他们的和是m的倍数


如果n>m,那么无论n个数是多少,都可以,这是一个定理

所以我们要讨论的就是n<=m的时候

对于1 2 2 3这个数列 

我们能得到的和有1   2  3   4  5   6 

重复的就直接去掉

所以用set容器来保存前i个数能得到的和


#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
int a[1000005];
int sum[1005];
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for(int i=0;im) 
	{
		printf("YES\n");
		return 0;
	} 
	sets;
	set::iterator it;
	s.insert(a[0]%m);
	for(int i=1;i


你可能感兴趣的:(CodeForces)