結果

問題 No.966 引き算をして門松列(その1)
コンテスト
ユーザー koheijkt
提出日時 2026-03-07 09:21:40
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
WA  
実行時間 -
コード長 801 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 312 ms
コンパイル使用メモリ 85,620 KB
実行使用メモリ 83,236 KB
最終ジャッジ日時 2026-03-07 09:21:42
合計ジャッジ時間 1,238 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 2 WA * 3
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

INF = 1e18
T = int(input())
for i in range(T):
    cost = INF
    a, b, c = map(int, input().split())
    candi = []

    # b をminにする
    m = min(a, c)

    if a == c:
        if a > b + 1:
            cost1 = max(0, b - (m - 2)) + 1
            if m - 2 > 0:
                candi.append(cost1)
    else:
        cost2 = max(0, b - (m - 1))
        if m - 1 > 0:
            candi.append(cost2)
    
    # b をmaxにする
    if b >= 3 and not(a == c == 1):
        cost3 = 0
        if a >= b - 1:
            cost3 += a - (b - 1)
            a = b - 1
        if c >= b - 1:
            cost3 += c - (b - 1)
            c = b - 1
        if a == c:
            cost3 += 1

        candi.append(cost3)

    if candi:
        ans = min(candi)
    else:
        ans = -1
    
    print(ans)
0