Cod sursa(job #472957)

Utilizator S7012MYPetru Trimbitas S7012MY Data 27 iulie 2010 12:37:30
Problema Congr Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <algorithm>
using namespace std;
#define DN 600010

long long s;

int main()
{
	srand(time(NULL));
	int i,p,lgsir,ind[DN],rest[DN],x,p1,p2;
	freopen("congr.in","r",stdin);
	freopen("congr.out","w",stdout);
	scanf("%d",&p);
	lgsir=2*p-1;
	for(i=0; i<lgsir; i++) {
		scanf("%d",&x);
		rest[i]=x%p;
		ind[i]=i;
	}
	for(i=0; i<p; i++) s+=rest[i];
	while(s%p) {//cat timp nu avem suma dorita
		p1=rand()%p;
		p2=rand()%(p-1);
		p2+=p;
		s-=rest[p1];
		s+=rest[p2];
		swap(rest[p1],rest[p2]);
		swap(ind[p1],ind[p2]);
	}
	for(i=0; i<p; i++) printf("%d ",ind[i]+1);
	return 0;
}