Pagini recente » Profil Andrei_Tud1 | Cod sursa (job #214943) | Cod sursa (job #117550) | Monitorul de evaluare | Cod sursa (job #1154414)
#include <fstream>
#include <ctime>
#include <cstdlib>
#include <algorithm>
using namespace std;
int P, v[600100], poz[600100];
long long sum;
int main()
{
int i, j;
ifstream fin("congr.in");
fin >> P;
for(i = 1; i <= P; ++i)
{
fin >> v[i];
poz[i] = i;
v[i] %= P;
sum += 1LL * v[i];
}
for(i = P + 1; i < 2 * P; ++i)
{
fin >> v[i];
poz[i] = i;
}
fin.close();
srand(time(NULL));
while(sum % P)
{
i = rand() % P + 1;
j = rand() % (P - 1) + P + 1;
sum -= 1LL * v[i];
sum += 1LL * v[j];
swap(v[i], v[j]);
swap(poz[i], poz[j]);
}
ofstream fout("congr.out");
for(i = 1; i <= P; ++i)
fout << poz[i] << ' ';
fout << "\n";
fout.close();
return 0;
}