QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#806623#9552. The ChariotKKT89WA 12ms10744kbPython3891b2024-12-09 13:11:192024-12-09 13:11:19

Judging History

This is the latest submission verdict.

  • [2024-12-09 13:11:19]
  • Judged
  • Verdict: WA
  • Time: 12ms
  • Memory: 10744kb
  • [2024-12-09 13:11:19]
  • Submitted

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'