QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#620103 | #8934. Challenge NPC | zzpcd# | RE | 0ms | 0kb | Python3 | 1.8kb | 2024-10-07 16:39:15 | 2024-10-07 16:39:39 |
answer
def myint(x : str):
if len(x) == 0:
return int(0)
return int(x)
T = int('2' * 5432)
exit(0)
T = int(input())
for _ in range(T):
n, m = input().split()
N = int(n)
n = '00000000000000000000000000000000000000000000000000000000000' + n
M = int(m)
N += 1
n = '00000000000000000000000000000000000000000000000000000000000' +str(N)
if N <= M :
print(M)
continue
if n.find(m) != -1:
print(N)
continue
Ans = (N + M - 1) // M * M
# if len(n) < len(m):
# B = M
# else:
# if myint(n[-len(m):]) <= M:
# B = myint(n[:-len(m)] + m)
# else:
# B = A
# if(len(n) + 1 < len(m)):
# C = M * 10
# else:
# if myint(n[(-len(m) - 1):]) <= M * 10:
# C = myint(n[:(-len(m) - 1)] + m + '0')
# elif myint(n[(-len(m) - 1):]) <= M * 10 + 9:
# C = myint(n[:(-len(m) - 1)] + m + n[-1:])
# else:
# C = myint(str(myint(n[:(-len(m) - 1)]) + 1) + m + '0')
orgN = N
nn = n[-25:]
ri = M
now = int(0)
for i in range(11):
tmp = myint(nn[-(len(m)+i):])
if tmp <= M * 10**i:
ri = min(ri, M * 10**i - tmp)
if now < ri:
if(len(n) >= i + 1):
ch = int(n[-i-1])
else:
ch = 0
if ch==0:
continue
now += (10 - ch) * 10**i
if now < ri:
N += (10 - ch) * 10**i
n = '00000000000000000000000000000000000000000000000000000000000' +str(N)
if n.find(m) != -1:
ri = min(ri, now)
# print(ri)
Ans = min(Ans, orgN + ri)
print(Ans)
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Dangerous Syscalls
input:
1