Cod sursa(job #1150288)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 22 martie 2014 19:42:57
Problema Congr Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<fstream>
#include<cstdlib>
#include<ctime>
#define MOD 150000
#define NMAX 600010

using namespace std;

ifstream f("congr.in");
ofstream g("congr.out");

int n, a[NMAX], pz[NMAX], i, pz1, pz2, sum=0;
long long z;

int main()
{
    srand(time(NULL));

    f>>n;
    for (i=1; i<n*2; ++i)
    {
        f>>a[i]; pz[i]=i;
        if (i<=n) sum=(sum+a[i])%n;
    }

    while (sum)
    {
        pz1=rand()%n+1;
        pz2=n+1+rand()%(n-1);

        sum-=a[pz1];
        swap(a[pz1], a[pz2]);
        swap(pz[pz1], pz[pz2]);
        sum+=a[pz1];

        if (sum>0) sum%=n;
        else sum+=n;

    }
    for (i=1; i<=n; ++i) g<<pz[i]<<" ";
    f.close();
    g.close();
    return 0;
}