| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
为什么会TLE呀?好难过。。用的鸽笼定理,有没有哪个大神帮忙看看呀#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
#define N 100005
long long int a[N];
long long int sum[N];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
if(m==0||n==0)
{
break;
}
else
{
for(int i=1; i<=m; i++)
{
scanf("%lld",&a[i]);
}
int pos=-1;
sum[0]=0;
for(int i=1; i<=m; i++)
{
sum[i]=(sum[i-1]+a[i])%n;
if(sum[i]==0)
{
pos=i;
}
}
if(pos>0)
{
printf("%lld",1);
for(int i=2; i<=pos; i++)
{
printf(" %lld",i);
}
printf("\n");
}
else
{
int x,y;
for(int i=1; i<=m; i++)
{
for(int j=1; j<=i; j++)
{
if(sum[i]-sum[j]==0)
{
x=i;
y=j;
break;
}
}
}
printf("%lld",y+1);
for(int k=y+2; k<=x; k++)
{
printf(" %lld",k);
}
printf("\n");
}
}
}
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator