Pagini recente » Cod sursa (job #1758472) | Cod sursa (job #1045675) | Cod sursa (job #1012668) | Cod sursa (job #1879318) | Cod sursa (job #514627)
Cod sursa(job #514627)
#include <stdio.h>
#include <stdlib.h>
#include <ctime>
#include <algorithm>
#define Nmax 300002
using namespace std;
int A[Nmax*2],ind[Nmax*2];
int P,sum;
int main(){
int i,poz1,poz2;
freopen("congr.in","r",stdin);
freopen("congr.out","w",stdout);
scanf("%d",&P);
for(i=1;i<2*P;++i) scanf("%d",&A[i]),ind[i]=i;
for(i=1;i<=P;++i){
sum=(sum+A[i])%P;
}
srand(time(NULL));
while( sum ){
poz2=P+rand()%(P-1)+1;
sum=(sum+A[poz2])%P;
poz1=rand()%P+1;
sum-=A[poz1];
if(sum<0) sum+=P;
swap(A[poz1],A[poz2]);
swap(ind[poz1],ind[poz2]);
}
for(i=1;i<=P;++i)
printf("%d ",ind[i]);
fclose(stdin); fclose(stdout);
return 0;
}