Submission #576298

#TimeUsernameProblemLanguageResultExecution timeMemory
576298eecsWeird Numeral System (CCO21_day1problem2)C++17
25 / 25
1901 ms2048 KiB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main() {
    ios::sync_with_stdio(0), cin.tie(0);
    int K, q, d;
    cin >> K >> q >> d >> *new int;
    vector<int> a(d);
    for (int &x : a) cin >> x;
    while (q--) {
        ll n;
        cin >> n;
        array<unordered_set<ll>, 80> f;
        f[0].insert(n);
        bool flag = 0;
        for (int i = 1; i < 80; i++) {
            for (ll x : f[i - 1]) {
                for (int y : a) if (!((x - y) % K)) {
                    f[i].insert((x - y) / K);
                }
            }
            if (f[i].count(0)) {
                for (ll x = 0; i; i--) {
                    for (int y : a) if (f[i - 1].count(x * K + y)) {
                        cout << y << " \n"[i == 1];
                        x = x * K + y; break;
                    }
                }
                flag = 1; break;
            }
        }
        if (!flag) cout << "IMPOSSIBLE\n";
    }
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...