QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#806623 | #9552. The Chariot | KKT89 | WA | 12ms | 10744kb | Python3 | 891b | 2024-12-09 13:11:19 | 2024-12-09 13:11:19 |
Judging History
answer
def calc(D, A, B, C, X, Y):
if D <= X:
return A
elif D <= X + Y:
return A + B * (D - X)
else:
return A + B * Y + C * (D - X - Y)
cnt = 0
for q in range(int(input())):
A, B, C, X, Y, D = map(int, input().split())
cnt += 1
if cnt == 20:
print(A, B, C, X, Y, D)
# 1台だけ使う場合
base = calc(D, A, B, C, X, Y)
res = base
# ABを出来るだけ使う場合+C
if D // (X + Y) > 0:
res = min(res, D // (X + Y) * (A + B * Y) + (D % (X + Y)) * C)
# AB+A
num = (D + X + Y - 1) // (X + Y)
res = min(res, num * A + max(D - num * X, 0) * B)
# Aだけ使う場合
res = min(res, (D + X - 1) // X * A)
# Cの一部をAで置換
if D > X + Y:
num = (D - X - Y) // X
res = min(res, base - num * X * C + num * A)
# output
print(res)
詳細信息
Test #1:
score: 100
Accepted
time: 9ms
memory: 10744kb
input:
5 160 27 41 3 12 3 160 27 41 3 12 4 160 27 41 3 12 99 1 999 999 1 99 999 999 999 1 1 99 9999999999999999
output:
160 187 3226 999 10000000000099799
result:
ok 5 lines
Test #2:
score: -100
Wrong Answer
time: 12ms
memory: 10636kb
input:
2077 63 88 64 47 55 88 4 75 38 53 33 41 41 1 28 6 13 100 57 88 77 35 5 48 100 36 97 24 93 87 57 25 26 84 62 18 29 11 33 88 86 71 33 16 7 4 73 68 50 65 72 14 43 78 15 31 72 42 39 29 31 10 76 58 35 89 39 55 99 11 16 82 21 18 57 44 80 16 38 31 99 58 59 69 24 22 69 76 14 83 96 40 56 31 14 36 75 84 27 57...
output:
126 4 310 114 400 57 29 561 300 15 62 312 21 76 48 192 150 130 97 56 10 89 8 65 90 672 76 32 112 186 39 138 36 605 30 23 88 76 285 20 330 325 174 128 32 36 1 36 30 24 192 170 17 88 83 102 140 86 52 81 25 44 8 21 180 49 51 145 55 82 31 85 156 70 192 21 84 48 156 51 145 174 156 86 2 73 83 5 200 117 44...
result:
wrong answer 20th lines differ - expected: '636', found: '56 10 89 8 65 90'