QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#810035 | #9552. The Chariot | frankly6 | WA | 16ms | 10636kb | Python3 | 783b | 2024-12-11 19:15:25 | 2024-12-11 19:15:26 |
Judging History
answer
def main():
A, B, C, X, Y, D = map(int,input().split())
if D <= X:
print(A)
return
c1 = 0 # One car
if D <= X + Y: c1 = A+B*(D-X)
else: c1 = A+B*Y+C*(D-X-Y)
c2 = (D//X)*A # most base fare
num2 = D//X
left = D-(D//X*X)
if num2*Y < left: c2 = c2+min(num2*Y*B+(left-num2*Y)*C, Y*B+(left-Y)*C)
elif Y<=left: c2 = c2+min(left*B, Y*B+(left-Y)*C)
else: c2 = c2+left*B
bD, bC = X+Y, A+B*Y
cab = (D//bD)*bC
num3 = D//bD
left = D-(D//bD)*bD
if left < X: c3 = cab + A - min(num3*Y,X-left)*B #refund some B
elif left >= X and left <= X + Y: c3 = cab + A + (left-X)*B
else: c3 = cab + A + Y*B + (left-A-B)*C
print(min(c1,c2,c3))
T = int(input())
while T:
main()
T -= 1
详细
Test #1:
score: 100
Accepted
time: 16ms
memory: 10544kb
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: 15ms
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:
3671 4 310 114 840 57 29 561 770 15 341 548 21 379 178 296 663 130 97 636 76 32 146 180 39 138 438 605 30 23 88 76 285 20 344 428 424 400 32 1956 1 36 30 720 3386 179 17 224 83 1568 166 86 52 81 25 44 8 21 783 49 51 926 55 82 31 85 1180 995 158 21 84 875 654 51 145 2337 1358 86 2 73 83 5 401 117 44 ...
result:
wrong answer 1st lines differ - expected: '126', found: '3671'