結果
| 問題 | No.3301 Make Right Triangle |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-02-05 21:36:44 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 248 ms / 2,000 ms |
| コード長 | 650 bytes |
| 記録 | |
| コンパイル時間 | 455 ms |
| コンパイル使用メモリ | 82,728 KB |
| 実行使用メモリ | 88,740 KB |
| 最終ジャッジ日時 | 2026-02-05 21:36:54 |
| 合計ジャッジ時間 | 8,271 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 9 |
ソースコード
## https://yukicoder.me/problems/no/3301
def solve(L):
L0 = L
pow2 = 1
while L % 2 == 0:
pow2 *= 2
L //= 2
if L != 1:
x = (L ** 2 + 1) // 2
y = (L ** 2 - 1) // 2
x *= pow2
y *= pow2
ans = [x, L0, y]
else:
pow2 //= 4
x = 3 * pow2
y = 5 * pow2
ans = [x, L0, y]
return " ".join(map(str, ans))
def main():
T = int(input())
answers = []
for _ in range(T):
L = int(input())
ans = solve(L)
answers.append(ans)
for ans in answers:
print(ans)
if __name__ == "__main__":
main()