Cod sursa(job #1511338)

Utilizator andreiulianAndrei andreiulian Data 26 octombrie 2015 16:39:46
Problema Congr Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<ctime>
using namespace std;
int p,a[600000],ok;
bool upoz[600000];
inline void mod(int *x){
	while(*x>=p) *x-=p;
}
int main(){
	ifstream in("congr.in");
	ofstream out("congr.out");
	int i,s,pc;
	in>>p;
	for(i=1;i<p+p;++i){
		in>>a[i];
		mod(a+i);
	}
	while(!ok){
		for(i=1;i<=p+p-1;++i) upoz[i]=0;
		s=0;
		for(i=1;i<=p;++i){
			do{
				pc=rand()%(p+p-1)+1;
			}while(upoz[pc]==1);
			upoz[pc]=1;
			s+=a[pc];
			mod(&s);
		}
		if(s==0) ok=1;
	}
	for(i=1;i<=2*p-1;++i) if(upoz[i]==1) out<<i<<' ';
	out<<'\n';
}