結果
問題 |
No.966 引き算をして門松列(その1)
|
ユーザー |
|
提出日時 | 2020-05-02 13:00:04 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 83 ms / 2,000 ms |
コード長 | 804 bytes |
コンパイル時間 | 375 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 11,392 KB |
最終ジャッジ日時 | 2024-12-29 17:53:11 |
合計ジャッジ時間 | 1,544 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 5 |
ソースコード
def make_b_min(a, b, c, diff): new_a = min(b - 2, a) new_c = min(b - 1, c) if new_a <= 0: return 10 ** 10 else: return a - new_a + c - new_c + diff def make_b_max(a, b, diff): new_b = min(a - 1, b) if new_b <= 0: return 10 ** 10 else: return b - new_b + diff def main(): queries = int(input()) answer = [0 for _ in range(queries)] for i in range(queries): diff = 0 a, b, c = map(int, input().split()) if c < a: a, c = c, a if a == c: a -= 1 diff += 1 result = min(make_b_min(a, b, c, diff), make_b_max(a, b, diff)) answer[i] = result if result != 10 ** 10 else -1 print("\n".join(map(str, answer))) if __name__ == '__main__': main()