Pagini recente » Cod sursa (job #2096429) | Cod sursa (job #3135005) | Cod sursa (job #2252261) | Cod sursa (job #1180631) | Cod sursa (job #466621)
Cod sursa(job #466621)
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <vector>
using namespace std;
#define file_in "congr.in"
#define file_out "congr.out"
#define nmax 301000
int p;
int a[2*nmax+10];
int frecv[2*nmax+10];
void citire()
{
int i,x;
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &p);
for (i=1;i<=2*p-1;++i)
{
scanf("%d", &x);
a[i]=x%p;
}
}
void solve()
{
int i,j,suma,k,r;
i=p+1;
j=2;
while(j<=p && i<2*p)
{
suma=a[i]-a[j];
if (suma%p==0)
{
for (k=j;k<=i;++k)
printf("%d ", k);
exit(0);
}
i++;
j++;
}
suma=0;
for (i=1;i<=p;++i)
suma+=a[i];
if (suma%p==0)
{
for (i=1;i<=p;++i)
printf("%d ", i);
exit(0);
}
r=suma%p;
i=p+1;
j=2;
while(j<=p && i<2*p)
{
suma=a[i]-a[j];
if (suma%p==p-r)
{
for (k=j;k<=i;++k)
frecv[k]=1;
for (k=1;k<=p;++k)
frecv[k]=1;
for (k=1;k<=2*p-1;++k)
if (frecv[k]) printf("%d ", k);
exit(0);
}
i++;
j++;
}
}
int main()
{
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}