답안 #732584

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
732584 2023-04-29T06:22:32 Z Programmer123 Weird Numeral System (CCO21_day1problem2) C++17
0 / 25
1 ms 212 KB
#include <bits/stdc++.h>
#define int long long int
#define IMPOSSIBLE 10000
std::set<int> digits;
int K, M;
std::map<int, int> answer;
int dp(int num) {
    if (answer.count(num)) return answer[num];
    if (digits.count(num)) {
        answer[num] = num;
        return num;
    } else if (std::abs(num) < M) {
        answer[num] = IMPOSSIBLE;
        return IMPOSSIBLE;
    }
    answer[num] = IMPOSSIBLE;
    for (auto digit: digits) {
        int newNum = num - digit;
        if (newNum % K != 0) continue;
        if (dp(newNum / K) == IMPOSSIBLE) continue;
        answer[num] = digit;
        return digit;
    }
    return IMPOSSIBLE;
}
signed main() {
    int Q, D;
    std::cin >> K >> Q >> D >> M;
    for (int i = 0; i < D; ++i) {
        int a;
        std::cin >> a;
        digits.insert(a);
    }
    for (int _ = 0; _ < Q; ++_) {
        int number;
        std::cin >> number;
        if (dp(number) != IMPOSSIBLE) {
            std::stack<int> result;
            result.push(dp(number));
            number = (number - dp(number)) / K;
            while (number) {
                int digit = dp(number);
                result.push(digit);
                number -= digit;
                number /= K;
            }
            while (!result.empty()) {
                std::cout << result.top() << (result.size() > 1 ? " " : "");
                result.pop();
            }
            std::cout << std::endl;
        } else {
            std::cout << "IMPOSSIBLE" << std::endl;
        }
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB OK
2 Correct 0 ms 212 KB OK
3 Correct 1 ms 212 KB OK
4 Incorrect 1 ms 212 KB Query 4: Jury has an answer but participant does not
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB OK
2 Correct 0 ms 212 KB OK
3 Correct 1 ms 212 KB OK
4 Incorrect 1 ms 212 KB Query 4: Jury has an answer but participant does not
5 Halted 0 ms 0 KB -