#include <bits/stdc++.h>
using namespace std;
using ll = long long;
map<ll, ll> M;
queue<ll> Q;
vector<ll> A[1010101];
ll k, q, d, m;
void tc(ll n) {
ll t, u;
M.clear();
for (; !Q.empty(); Q.pop());
if (n) Q.push(n);
else {
for (ll &a: A[0]) {
if (a == 0) {
cout << "0\n";
return;
}
u = -a / k;
M[u] = 0; Q.push(u);
}
}
for (; !Q.empty(); ) {
t = Q.front(); Q.pop();
if (t == 0) {
bool f = 0;
for (; !f || t != n; t = M[t]) {
f = 1; cout << (M[t] - t * k) << " ";
}
cout << "\n";
return;
}
for (ll &a: A[(t % k + k) % k]) {
u = (t - a) / k;
if (M.find(u) == M.end()) {
M[u] = t; Q.push(u);
}
}
}
cout << "IMPOSSIBLE\n";
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
ll i, t, n;
cin >> k >> q >> d >> m;
for (i = 0; i < d; i++) {
cin >> t; A[(t % k + k) % k].push_back(t);
}
for (; q--; ) {
cin >> n; tc(n);
}
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
14 ms |
24012 KB |
Expected integer, but "IMPOSSIBLE" found |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
14 ms |
24012 KB |
Expected integer, but "IMPOSSIBLE" found |
2 |
Halted |
0 ms |
0 KB |
- |