Cod sursa(job #1249898)

Utilizator cojocarugabiReality cojocarugabi Data 27 octombrie 2014 17:13:52
Problema Congr Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
# include <bits/stdc++.h>
using namespace std;
const int nmax = 6e5 + 5;
int read(void)
{
    int p=0;char c[8];
    scanf("%s",&c);
    for (int i=0;c[i];++i) p= p * 10 + c[i] - '0';
    return (p);
}
int a[nmax],b[nmax];
int main(void)
{
    srand(time(NULL));
    freopen("congr.in","r",stdin);
    freopen("congr.out","w",stdout);
    int p,n;
    long long Sum=0;
    p=read();n=p << 1;
    for (int i=1;i<=p;++i) a[i]=read(),Sum+=a[i];
    for (int i=1;i<p;++i) a[i+p]=read();
    for (int i=1;i<n;++i) b[i]=i;
    while (Sum % p)
    {
        int x=rand() % p + 1,y=rand() % (p-1) + p + 1;
        Sum+=a[b[y]]-a[b[x]];
        swap(b[x],b[y]);
    }
    for (int i=1;i<=p;++i) printf("%d ",b[i]);
    return 0;
}