Cod sursa(job #1151163)

Utilizator lianaliana tucar liana Data 23 martie 2014 21:31:55
Problema Congr Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>
#include<ctime>
#include<cstdlib>
#define pmax 300005
using namespace std;
int i, n, x, p, sum, p1, p2, aux, v[2*pmax], a[2*pmax], q;

int main()
{
    freopen("congr.in","r",stdin);
    freopen("congr.out","w",stdout);
    srand(time(0));
    scanf("%ld",&p);
    n=2*p-1;
    for (i=1;i<=n;i++)
    {
        scanf("%ld",&x);
        v[i]=x%p;
        if (i<=p)
        {
            sum+=v[i];
            if (sum>=p)
                sum-=p;
        }
        a[i]=i;
    }
    while (sum%p)
    {
        p1=rand()%p+1;
        p2=rand()%(p-1)+p+1;
        aux=a[p1];    a[p1]=a[p2];  a[p2]=aux;
        sum+=v[a[p1]];
        sum-=v[a[p2]];
    }
    for (i=1;i<=p;i++)
        printf("%ld ",a[i]);
    return 0;
}