結果
問題 |
No.3301 Make Right Triangle
|
ユーザー |
![]() |
提出日時 | 2025-10-05 14:11:53 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 217 ms / 2,000 ms |
コード長 | 770 bytes |
コンパイル時間 | 950 ms |
コンパイル使用メモリ | 102,048 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-10-05 14:12:07 |
合計ジャッジ時間 | 7,194 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> #include <set> using namespace std; int main() { int t; cin >> t; while (t--) { long long l; cin >> l; long long ge = 1; while (l % 2 == 0) { ge *= 2; l /= 2; } if (l == 1) { long long ans[3] = {3, 4, 5}; while (ans[1] < ge) { for (int i = 0; i < 3; ++i) ans[i] *= 2; } for (int i = 0; i < 3; ++i) cout << ans[i] << " \n"[i == 2]; } else { long long ans[3] = {l, (l * l - 1) / 2, (l * l + 1) / 2}; for (int i = 0; i < 3; ++i) cout << ans[i] * ge << " \n"[i == 2]; } } }