Pagini recente » Cod sursa (job #2407069) | Cod sursa (job #2079255) | Cod sursa (job #998748) | Cod sursa (job #392606) | Cod sursa (job #2216940)
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <ctime>
using namespace std;
ifstream fin("congr.in");
ofstream fout("congr.out");
int sol[101],v[101];
long long s=0;
long long i1,i2;
int N;
int main()
{
fin>>N;
srand(time(NULL));
for(int i = 1; i <= 2*N-1; i++)
{
fin>>v[i];
sol[i]=i;
if(i<=N)
{
s+=v[i]; /// ne formam noi o suma din P elemente
}
}
while(s%N)
{
i1=( rand() % N )+1;/// schimb o pozitia din suma formata din primele P numere;
i2=( rand() %N-1 )+N+1;/// cu o pozitie din cealalta "jumatate" a vectorului;
s+=v[ sol[i2] ] - v[ sol[i1] ];
swap(sol[i1],sol[i2]);
}
for(int i = 1; i <= N; i++)
fout<<sol[i]<<" ";
fout<<'\n';
return 0;
}