Pagini recente » Cod sursa (job #507926) | Cod sursa (job #2721953) | Cod sursa (job #1178192) | Cod sursa (job #2637539) | Cod sursa (job #2787414)
#include <bits/stdc++.h>
using namespace std;
/**
Algoritmi randomizati
NP-complete
*/
ifstream fin("congr.in");
ofstream fout("congr.out");
int a[600002], p, n;
int b[300002], nb, c[300002], nc;
int main()
{
int i, j, x, s = 0;
fin >> p;
n = 2 * p - 1;
for (i = 1; i <= n; i++)
{
fin >> x;
a[i] = x % p;
if (i <= p)
{
b[nb++] = i;
s = (s + a[i]) % p;
}
else c[nc++] = i;
}
srand(time(0));
while (s != 0)
{
i = rand() % nb;
j = rand() % nc;
s = (s - a[b[i]] + a[c[j]] + p) % p;
swap(b[i], c[j]);
}
for (i = 0; i < nb; i++)
fout << b[i] << " ";
fout << "\n";
fout.close();
return 0;
}