Cod sursa(job #1239408)

Utilizator enedumitruene dumitru enedumitru Data 8 octombrie 2014 23:54:51
Problema Congr Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<fstream>
#include<ctime>
using namespace std;
ifstream f("congr.in"); ofstream g("congr.out");
int p,i,j,a[600000],b[600000];
long long s;
string x;
int main () 
{   f>>p;
	getline(f,x); getline(f,x);
    for(i=0;i<x.size();i++) 
		if(isdigit(x[i]))
        {   int nr=0;
            while(isdigit(x[i])) nr=nr*10+x[i++]-'0';
            a[++a[0]]=nr;
            if(a[0]<=p) s+=nr;
            b[++b[0]]=b[0];
        }
	srand(time(0));
    while(s%p) 
	{   i=1+rand()%p;
        j=1+p+rand()%(p-1);
        s=s+a[b[j]]-a[b[i]];
        swap(b[i],b[j]);
    }
    for(i=1;i<=p;i++) g<<b[i]<<' ';
    g<<'\n'; g.close(); return 0;
}