QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#827509 | #9552. The Chariot | LilyWhite | WA | 17ms | 11392kb | Python3 | 1.4kb | 2024-12-23 00:37:16 | 2024-12-23 00:37:17 |
Judging History
answer
import sys
import math
def minimal_travel_cost(A, B, C, X, Y, D):
# Option 1: Re-hail every X meters
cost1 = ((D + X - 1) // X) * A
# Option 2: Re-hail every (X + Y) meters
if X + Y == 0:
# Avoid division by zero, though constraints prevent X + Y =0
cost2 = float('inf')
else:
k = D // (X + Y)
r = D % (X + Y)
if r == 0:
cost2 = k * (A + B * Y)
elif r <= X:
cost2 = k * (A + B * Y) + A
else:
cost2 = k * (A + B * Y) + A + B * (r - X)
# Option 3: Take a single cab for the entire journey
if D <= X:
cost3 = A
elif D <= X + Y:
cost3 = A + B * (D - X)
else:
cost3 = A + B * Y + C * (D - X - Y)
# Determine the minimal cost
min_cost = min(cost1, cost2, cost3)
return min_cost
def main():
import sys
import sys
input = sys.stdin.read
data = input().split()
T = int(data[0])
idx = 1
results = []
for _ in range(T):
A = int(data[idx])
B = int(data[idx+1])
C = int(data[idx+2])
X = int(data[idx+3])
Y = int(data[idx+4])
D = int(data[idx+5])
idx +=6
cost = minimal_travel_cost(A, B, C, X, Y, D)
results.append(str(cost))
print('\n'.join(results))
if __name__ == "__main__":
main()
详细
Test #1:
score: 100
Accepted
time: 17ms
memory: 10564kb
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: 10ms
memory: 11392kb
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 311 114 400 57 29 561 300 15 62 312 21 76 48 192 150 130 97 672 76 32 112 186 39 138 36 605 30 23 88 76 291 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 6 152 58 122 26 ...
result:
wrong answer 3rd lines differ - expected: '310', found: '311'