Pagini recente » Borderou de evaluare (job #1523786) | Cod sursa (job #2111115) | Cod sursa (job #582210) | Cod sursa (job #3242256) | Cod sursa (job #1309209)
#include<fstream>
#include<cstdlib>
#include<time.h>
using namespace std;
ifstream in("congr.in");
ofstream out("congr.out");
const int NMAX = 300000;
int sum,n,v[2*NMAX+10],poz[2*NMAX+10];
void read()
{
in>>n;
for(int i = 1 ; i < 2*n ; i++){
in>>v[i];
poz[i] = i;
if(i <= n)
sum += v[i];
}
in.close();
}
void solve()
{
srand(time(NULL));
int i,j;
while(sum % n){
i = 1 + (rand()%n);
j = n + 1 + (rand()%n);
sum = sum - v[i] + v[j];
swap(v[i],v[j]);
swap(poz[i],poz[j]);
}
}
void afis()
{
for(int i = 1; i <= n ; i++)
out<<poz[i]<<" ";
out.close();
}
int main()
{
read();
solve();
afis();
return 0;
}