Cod sursa(job #2024504)

Utilizator LucianTLucian Trepteanu LucianT Data 20 septembrie 2017 19:15:00
Problema Congr Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>
using namespace std;
const int maxN=3e5+4;

int n,sum;
int v[2*maxN];
vector<int> group1;
vector<int> group2;

int main()
{
    srand(time(0));
    freopen("congr.in","r",stdin);
    freopen("congr.out","w",stdout);

    scanf("%d",&n);
    for(int i=1;i<2*n;i++)
        scanf("%d",&v[i]);

    for(int i=1;i<=n;i++){
        sum+=v[i];
        group1.push_back(i);
    }

    for(int i=n+1;i<2*n;i++)
        group2.push_back(i);

    while(sum%n!=0)
    {
        int pos1=rand()%n;
        int pos2=rand()%(n-1);
        sum-=v[group1[pos1]];
        sum+=v[group2[pos2]];
        swap(group1[pos1],group2[pos2]);
    }

    for(auto it:group1)
        printf("%d ",it);

    return 0;
}