Pagini recente » Cod sursa (job #1799766) | Cod sursa (job #1080135) | Cod sursa (job #1239445) | Cod sursa (job #161836) | Cod sursa (job #482043)
Cod sursa(job #482043)
//Congr
#include<cstdio>
#include<cstdlib>
#include<ctime>
using namespace std;
const int N=600006;
int n, v[N], c[N], sum[N];
void Read()
{
scanf("%d",&n);
for( int i=1; i<2*n; ++i)
{
scanf("%d",&v[i]);
v[i]%=n;
}
}
void Initialise()
{
for( int i=1; i<2*n; ++i)
c[i]=i;
}
void Solve()
{
srand(time(0));
int lim, x, sm;
while(1)
{
Initialise();
lim=2*n-1;
sm=0;
for( int i=1; i<n; ++i)
{
x=rand()%lim+1;
sum[i]=c[x];
sm=(sm+v[c[x]])%n;
c[x]=c[lim];
lim--;
}
for( int i=1; i<=lim; ++i)
if( (v[c[i]]+sm)%n==0 )
{
printf("%d ",c[i]);
for( int j=1; j<n; ++j)
printf("%d ",sum[j]);
exit(0);
}
}
}
int main()
{
freopen("congr.in","r",stdin);
freopen("congr.out","w",stdout);
Read();
Solve();
return 0;
}