Pagini recente » Diferente pentru reguli intre reviziile 21 si 12 | Monitorul de evaluare | Diferente pentru utilizator/byndrsn intre reviziile 10 si 11 | Istoria paginii utilizator/mihai.petre | Cod sursa (job #2011040)
#include <bits/stdc++.h>
#define Nmax 300001
using namespace std;
vector <int> v,sol;
int main()
{
srand(time(NULL));
int n,x,y,i;
long long s=0;
freopen("congr.in","r",stdin);
freopen("congr.out","w",stdout);
scanf("%d",&n);
v.assign(2*n+1,0);
sol.assign(2*n+1,0);
for(i=1;i<2*n;i++)
{
scanf("%d",&v[i]);
sol[i]=i;
if(i<=n) s+=v[i];
}
while(s%n)
{
x=rand()%n+1;
y=rand()%(n-1)+n+1;
s+=v[sol[y]]-v[sol[x]];
swap(sol[x],sol[y]);
}
for(i=1;i<=n;i++)
cout<<sol[i]<<' ';
return 0;
}