Submission #1102390

#TimeUsernameProblemLanguageResultExecution timeMemory
1102390adaawfWeird Numeral System (CCO21_day1problem2)C++17
0 / 25
5 ms23888 KiB
#include <iostream> #include <queue> #include <map> using namespace std; #define int long long map<int, int> m; vector<int> g[1000005], res; int k; bool trya(int x) { if (m.count(x)) return false; int h = (x % k + k) % k; m[x] = 0; for (int w : g[h]) { if (x == w) { res.push_back(w); return true; } if ((x - w) / k != x && trya((x - w) / k)) { res.push_back(w); return true; } } return false; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int q, d, ma; cin >> k >> q >> d >> ma; for (int i = 1; i <= d; i++) { int x, y; cin >> x; y = (x % k + k) % k; g[y].push_back(x); } for (int jj = 0; jj < q; jj++) { int x, y; cin >> x; m.clear(); res.clear(); y = trya(x); if (y == 0) { cout << "IMPOSSIBLE" << '\n'; continue; } for (int w : res) cout << w << " "; cout << '\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...