Cod sursa(job #2216940)

Utilizator IustinPetrariuIustinian Petrariu IustinPetrariu Data 28 iunie 2018 13:56:16
Problema Congr Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#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;
}