Submission #53489045
Source Code Expand
N, K = map(int, input().split()) D = list(map(int, input().split())) is_use = set([i for i in range(10)]) ^ set(D) is_use = list(is_use) INF = int(str(max(is_use))*len(str(N))) if INF < N: INF *= 10 INF += max(is_use) # dp[S] := 集合 S (1~9) で作れる N 以上の最小値 dp = [INF]*(1 << 10) for S in range(1 << 10): for i in range(10): len_ = len(str(dp[S])) for bit in range(1 << len_): num = list(str(dp[S])) for j in range(len_): if (bit >> j) & 1: num[j] = str(i) num = int("".join(num)) if num >= N: dp[S | (1 << i)] = min(dp[S | (1 << i)], num) ans = INF use_bin = sum([(1 << i) for i in is_use]) for i in range(1 << 10): ans = min(ans, dp[i & use_bin]) print(ans)
Submission Info
Submission Time | |
---|---|
Task | C - Iroha's Obsession |
User | ryusuke_h |
Language | Python (PyPy 3.10-v7.3.12) |
Score | 300 |
Code Size | 850 Byte |
Status | AC |
Exec Time | 125 ms |
Memory | 83004 KiB |
Judge Result
Set Name | Sample | All | ||
---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||
Status | AC |
|
Set Name | Test Cases |
---|---|
Sample | |
All | subtask0_sample_01.txt, subtask0_sample_02.txt, subtask1_X_01.txt, subtask1_X_02.txt, subtask1_X_03.txt, subtask1_X_04.txt, subtask1_X_05.txt, subtask1_X_06.txt, subtask1_X_07.txt, subtask1_X_08.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
subtask0_sample_01.txt | AC | 98 ms | 82876 KiB |
subtask0_sample_02.txt | AC | 95 ms | 82848 KiB |
subtask1_X_01.txt | AC | 99 ms | 82820 KiB |
subtask1_X_02.txt | AC | 125 ms | 82816 KiB |
subtask1_X_03.txt | AC | 98 ms | 82764 KiB |
subtask1_X_04.txt | AC | 81 ms | 82728 KiB |
subtask1_X_05.txt | AC | 75 ms | 81648 KiB |
subtask1_X_06.txt | AC | 124 ms | 83004 KiB |
subtask1_X_07.txt | AC | 90 ms | 82980 KiB |
subtask1_X_08.txt | AC | 95 ms | 82648 KiB |