結果

問題 No.967 引き算をして門松列(その2)
ユーザー rlangevinrlangevin
提出日時 2023-06-04 18:16:09
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 188 ms / 2,000 ms
コード長 663 bytes
コンパイル時間 141 ms
コンパイル使用メモリ 82,440 KB
実行使用メモリ 78,640 KB
最終ジャッジ日時 2024-06-09 03:58:38
合計ジャッジ時間 1,990 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 33 ms
51,840 KB
testcase_01 AC 33 ms
51,840 KB
testcase_02 AC 31 ms
52,096 KB
testcase_03 AC 119 ms
77,184 KB
testcase_04 AC 114 ms
77,056 KB
testcase_05 AC 116 ms
77,056 KB
testcase_06 AC 114 ms
77,312 KB
testcase_07 AC 115 ms
77,312 KB
testcase_08 AC 143 ms
77,624 KB
testcase_09 AC 166 ms
78,392 KB
testcase_10 AC 173 ms
78,640 KB
testcase_11 AC 188 ms
78,072 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

inf = 10 ** 20
def f(t1, t2, t3):
    val = 0
    ma = t1[0]
    if t2[0] < ma:
        ma = t2[0]
    else:
        ma -= 1
        val += t2[1] * (t2[0] - ma)
        
    if t3[0] < ma:
        ma = t3[0]
    else:
        ma -= 1
        val += t3[1] * (t3[0] - ma)
        
    if ma <= 0:
        return inf
    else:
        return val 

T = int(input())
for _ in range(T):
    A, B, C, X, Y, Z = map(int, input().split())
    ans = inf
    ta, tb, tc = (A, X), (B, Y), (C, Z)
    ans = min(ans, f(tb, ta, tc))
    ans = min(ans, f(tb, tc, ta))
    ans = min(ans, f(tc, ta, tb))
    ans = min(ans, f(ta, tc, tb))
    print(ans) if ans != inf else print(-1)
0