Pagini recente » Cod sursa (job #698673) | Cod sursa (job #126596) | Cod sursa (job #2928981) | Cod sursa (job #497813) | Cod sursa (job #2794271)
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define dbg(x) cerr << #x << " " << x << "\n"
//#define HOME
int main() {
freopen("congr.in", "r", stdin);
freopen("congr.out", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
register int p;
srand(time(0));
#ifdef HOME
p = rand() % 299999 + 2;
dbg(p);
#else
cin >> p;
#endif // HOME
register int sum = 0;
vector <int> v(2 * p), id(2 * p);
for (register int i = 1; i <= 2 * p - 1; i++) {
#ifdef HOME
v[i] = rand() % p;
#else
cin >> v[i]; v[i] %= p;
#endif // HOME
id[i] = i;
if (i <= p) {
sum += v[i];
if (sum >= p) sum -= p;
}
}
#ifdef HOME
int op = 0;
#endif // HOME
while (sum != 0) {
register int ai = 1 + rand() % p, bi = p + 1 + rand() % (p - 1);
sum -= v[id[ai]];
if (sum < 0) sum += p;
swap(id[ai], id[bi]);
sum += v[id[ai]];
if (sum >= p) sum -= p;
#ifdef HOME
op++;
#endif // HOME
}
#ifdef HOME
dbg(op);
#endif // HOME
for (register int i = 1; i <= p; i++)
cout << id[i] << " ";
cout << "\n";
return 0;
}