Pagini recente » Cod sursa (job #2336153) | Cod sursa (job #3276948) | Cod sursa (job #1551741) | Cod sursa (job #1805532) | Cod sursa (job #843902)
Cod sursa(job #843902)
#include<fstream>
#include<stdlib.h>
#include<time.h>
#include<stdio.h>
using namespace std;
#define NMAX 600008
ifstream fin("congr.in");
FILE *fout = fopen("congr.out", "wt");
const int SIZE = 9 * NMAX;
char parse[SIZE], *p;
int b[NMAX], a[NMAX], N;
long long sum;
int get_x(){
int result = 0;
while(*p && !(*p <= '9' && *p >= '0')) ++p;
while( *p >= '0' && *p <= '9') result = result * 10 + (*p -'0') , p++;
return result;
}
void read(){
fin >>N;
fin.getline(parse, SIZE, '\0');
p = parse;
for(int i = 1; i < 2 * N; i++){
a[i] = get_x();
//a[i] %= N;
b[i] = i;
if(i <= N)
sum = (sum + a[i] );// % N;
}
}
int main(){
read();
srand(time(0));
while(sum % N){
int i = 1 + rand()% N;
int j = 1 + N + rand() % (N - 1);
sum = sum + a[b[j]] - a[b[i]];
swap(b[i], b[j]);
}
for(int i = 1; i <= N; i++)
fprintf(fout , "%d ", b[i]);
return 0;
}