結果

問題 No.967 引き算をして門松列(その2)
ユーザー stngstng
提出日時 2022-08-16 15:41:07
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 1,415 bytes
コンパイル時間 297 ms
コンパイル使用メモリ 82,312 KB
実行使用メモリ 79,844 KB
最終ジャッジ日時 2024-04-14 09:37:22
合計ジャッジ時間 2,834 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 41 ms
53,516 KB
testcase_01 AC 38 ms
53,532 KB
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 WA -
testcase_07 WA -
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

t = int(input())
abc = [[int(i) for i in input().split()] for j in range(t)]


for i in range(t):
    ans = 10**19
    a,b,c = abc[i][:3]
    x,y,z = abc[i][3:]
    #aがmax
    if a > 2:
        tmp = 0
        A,B,C = a,b,c
        if a <= c:
            tmp += abs(a-1-c)*z
            C = a-1
        if C <= b:
            if C - 1 <= 0:
                tmp += 10**19
            tmp += abs(C-1-b)*y
        
        ans = min(ans,tmp)

    #bがmax
    if b > 2:
        tmp = 0
        A,B,C = a,b,c
        rev = 0
        if a < c:
            rev = 1
            A = c
            C = a
        #print(A,B,C,"abc")
        if B <= A:
            if rev == 1:
                tmp += abs(B-1-A)*z
            else:
                tmp += abs(B-1-A)*x
            A = B-1
        if A <= C:
            if A - 1 <= 0:
                tmp += 10**19
            if rev == 1:
                tmp += abs(A-1-c)*x
            else:
                tmp += abs(A-1-c)*z
        ans = min(tmp,ans)
        #print(tmp,"tmp",i)

    if c > 2:
        #cがmax
        tmp = 0
        A,B,C = a,b,c
        if c <= a:
            tmp += abs(c-1-a)*x
            A = c-1
        
        if A <= b:
            if A - 1 <= 0:
                tmp += 10**19
            tmp += abs(A-1-b)*y
        #print(A,b,"aaab",tmp)

        ans = min(tmp,ans)
    if ans != 10**19:
        print(ans)
    else:
        print(-1)
    
0