QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#632600 | #9456. Numbers | ucup-team3161# | AC ✓ | 55ms | 10656kb | Python3 | 341b | 2024-10-12 13:38:11 | 2024-10-12 13:38:15 |
Judging History
answer
T = int(input())
for _ in range(T):
n,m = input().split()
n = int(n)
m = int(m)
pw=1
res=0
while pw<=n:
pw=pw*2
while n>0:
if (pw-1)*m>=n:
pw=pw//2
else:
c=min(n//pw,m)
n=n-c*pw
res=res+pw
pw=pw//2
print(res)
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 15ms
memory: 10644kb
input:
5 3 1 3 2 3 3 10000 5 1244 10
output:
3 3 1 2000 125
result:
ok 5 tokens
Test #2:
score: 0
Accepted
time: 55ms
memory: 10656kb
input:
760 3 1 3 2 3 3 10000 5 1234 10 12345678910 34 124243243453446456 111323444 124234235325435436454645 242342343 232243434 23223 237234873238642783459236523976 10 0 1 0 12 1 3 10 4 9 5 3 2 4 5 7 3 6 2 5 3 7 3 7 2 9685295 190 5556910 213 7111987 191 7215414 122 5850275 271 4249528 191 3215769 167 26903...
output:
3 3 1 2000 125 363108205 1116056412 512639408316011 10001 23723487323864278345923652398 0 0 1 3 3 3 1 3 3 3 3 7 50977 26089 37237 59143 21589 22249 19257 12514 4955 69867 34099 67319 14241 26433 29343 26521 44241 19009 61709 10829 11557 39115 70165 26403 5215 28595 47438 15065 31705 27509 18483 7105...
result:
ok 760 tokens
Extra Test:
score: 0
Extra Test Passed