Cod sursa(job #881399)

Utilizator elfusFlorin Chirica elfus Data 17 februarie 2013 22:22:42
Problema Congr Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

int x[600000];
int sol[300001];

void swap(int &A, int &B)
{
	A = A ^ B;
	B = A ^ B;
	A = A ^ B;
}

int main()
{
	int i, N;
	long long sum = 0;
	
	freopen("congr.in", "r", stdin);
	freopen("congr.out", "w", stdout);

	srand(time(NULL));
	
	scanf("%d", &N);
	for (i = 1; i < 2 * N; i ++)
	{
		scanf("%d", &x[i]);
		if (i <= N)
			sum += x[i];
		sol[i] = i;
	}
	
	while (sum % N)
	{
		int ind1 = 1 + rand() % N;
		int ind2 = N + rand() % N;
		
		sum = sum - x[ind1] + x[ind2];
		swap(x[ind1], x[ind2]);
		swap(sol[ind1], sol[ind2]);
	}
	
	for (i = 1; i <= N; i ++)
		printf("%d ", sol[i]);
	return 0;
}