結果
| 問題 |
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()