Pagini recente » Cod sursa (job #2729570) | Cod sursa (job #1326662) | Cod sursa (job #822809) | Cod sursa (job #619245) | Cod sursa (job #609165)
Cod sursa(job #609165)
#include <iostream>
#include <cstdio>
#include <vector>
#include <cstdlib>
#define PMax 300005
using namespace std;
vector <int> Chosen;
vector <int> Remained;
int P, V[PMax], Sum;
int main()
{
freopen ("congr.in", "r", stdin);
freopen ("congr.out", "w", stdout);
srand (time (0));
scanf ("%d", &P);
for (int i=1; i<P+P; ++i)
{
scanf ("%d", &V[i]);
Remained.push_back (i);
}
for (int i=1; i<=P; ++i)
{
int k=rand ()%Remained.size ();
Chosen.push_back (Remained[k]);
Sum+=V[Remained[k]];
Remained[k]=Remained[Remained.size ()-1];
Remained.pop_back ();
}
while (Sum%P!=0)
{
int k=rand ()%Remained.size ();
int e=rand ()%Chosen.size ();
int aux=Chosen[e];
Sum-=V[aux];
Chosen[e]=Remained[k];
Sum+=V[Chosen[e]];
Remained[k]=aux;
}
for (unsigned i=0; i<Chosen.size (); ++i)
{
printf ("%d ", V[Chosen[i]]);
}
printf ("\n");
return 0;
}