Pagini recente » Cod sursa (job #2973082) | Cod sursa (job #49083) | Cod sursa (job #279135) | Cod sursa (job #496101) | Cod sursa (job #518526)
Cod sursa(job #518526)
#include <stdio.h>
#include <algorithm>
#include <time.h>
#include <stdlib.h>
using namespace std;
#define NMAX 300010
int V[NMAX], ind[NMAX];
int n, S;
inline int modulo(int x){
if(x > n) return x-n;
if(x < 0) return x+n;
return x;
}
int main(){
freopen("congr.in", "r", stdin);
freopen("congr.out", "w", stdout);
scanf("%d", &n);
srand(time(NULL));
for(int i = 1; i < 2*n; ++i)
scanf("%d", &V[i]),V[i] %= n, ind[i] = i, S += i <= n ? V[i] : 0;
while(S){
int p1 = 1 + rand()%n;
int p2 = n + 1 + rand()%(n-1);
S = modulo(S - V[ind[p1]] + V[ind[p2]]);
swap(ind[p1], ind[p2]);
}
for(int i = 1; i <= n; ++i)
printf("%d ", ind[i]);
return 0;
}