Cod sursa(job #490789)

Utilizator FlorianFlorian Marcu Florian Data 7 octombrie 2010 21:41:35
Problema Congr Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
using namespace std;
#include<fstream>
#include<ctime>
#include<cstdlib>
const int MAX_N = 300007;
int V[2*MAX_N], A[MAX_N], B[MAX_N], P;
int main()
{
	ifstream in("congr.in"); ofstream out("congr.out");
	int i,j, S = 0;
	in>>P;
	for(i = 1; i <= 2*P-1; ++i)
	{
		 if(i <= P ) in>>V[i], A[i] = i, S += V[i], S %= P;
		 else in>>V[i], B[i-P] = i;		 
	}
	S %= P;
	srand(time(0));
	while( S )
	{
       i = rand()%P + 1; j = rand()%(P-1) + 1;
	   S = ( S + V[B[j]] - V[A[i]] ) % P;
	   while( S < 0) S += P;
	   swap(A[i], B[j] );
	}
	for(i = 1; i <= P; ++i) out<<A[i]<<" ";
	return 0;

}