Cod sursa(job #473318)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 28 iulie 2010 19:53:36
Problema Congr Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
#include<cstdlib>
#include<ctime>
using namespace std;
int a[600001],aux,p,x,y,nr,n,poz[600001],i;
long long s;
int main()
{
    srand(time(NULL));
    ifstream fi("congr.in");
    ofstream fo("congr.out");
    fi>>p;
    n=2*p-1;
    for(i=1;i<=n;i++)
    {
        fi>>nr;
        a[i]=nr%p;
        poz[i]=i;
        if(i<=p) s+=a[i];
    }
    while(s%p)
    {
        x=rand()%(p-1);
        x++;
        y=rand()%(p-2);
        y+=p+1;

        s+=a[y];
        s-=a[x];

        aux=a[x];
        a[x]=a[y];
        a[y]=aux;

        aux=poz[x];
        poz[x]=poz[y];
        poz[y]=aux;
    }
    for(i=1;i<=p;i++)
    fo<<poz[i]<<" ";
    fo<<"\n";
    fo.close();
}