Pagini recente » Cod sursa (job #2937727) | Cod sursa (job #1469800) | Cod sursa (job #52120) | Cod sursa (job #2405573) | Cod sursa (job #467673)
Cod sursa(job #467673)
#include <cstdio>
#include <cassert>
#include <cstdlib>
#include <ctime>
#include <algorithm>
#define Nmax 300005
#define InFile "congr.in"
#define OutFile "congr.out"
using namespace std;
int p;
long long sum;
int T[2*Nmax], ind[2*Nmax];
void read();
void solve();
void write();
int main()
{
assert (freopen (InFile, "r", stdin));
assert (freopen (OutFile, "w", stdout));
read();
solve();
write();
return 0;
}
void read()
{
int i, a;
scanf ("%d\n", &p);
for (i=0; i<2*p-1; i++)
{
scanf ("%d\n", &a);
T[i]=a%p; ind[i]=i;
}
}
void solve()
{
int i, pz1, pz2;
for (i=0; i<p; i++)
sum+=T[i];
srand (time(NULL));
while (sum%p)
{
pz2=rand()%(p-1);
pz2+=p;
pz1=rand()%p;
sum-=T[pz1],sum+=T[pz2];
swap (T[pz1], T[pz2]);
swap (ind[pz1], ind[pz2]);
}
}
void write()
{
int i;
for (i=0; i<p; i++)
printf ("%d ", ind[i]+1);
printf ("\n");
}