Pagini recente » Cod sursa (job #2045400) | Cod sursa (job #1284991) | Cod sursa (job #1233223) | Cod sursa (job #2267255) | Cod sursa (job #514631)
Cod sursa(job #514631)
#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 ){
poz1=rand()%P+1;
poz2=P+rand()%(P-1)+1;
sum=(sum+A[ind[poz2]]-A[ind[poz1]])%P;
if(sum<0) sum+=P;
swap(ind[poz1],ind[poz2]);
}
for(i=1;i<=P;++i)
printf("%d ",ind[i]);
fclose(stdin); fclose(stdout);
return 0;
}