結果
問題 |
No.634 硬貨の枚数1
|
ユーザー |
![]() |
提出日時 | 2018-03-03 12:04:06 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 44 ms / 2,000 ms |
コード長 | 560 bytes |
コンパイル時間 | 114 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,008 KB |
最終ジャッジ日時 | 2024-06-23 21:14:50 |
合計ジャッジ時間 | 4,751 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 75 |
ソースコード
T = [i * (i + 1) // 2 for i in range(4473)] def find(i, x): low = 0 high = len(x) - 1 t = (low + high) // 2 while (low <= high): if (i == x[t]): break elif (i > x[t]): low = t + 1 elif (i < x[t]): high = t - 1 t = (low + high) // 2 return t if x[t] == i else -1 N = int(input()) if find(N, T) >= 0: print('1') exit() else: i = 0 while N - T[i] > 0: if find(N - T[i], T) >= 0: print('2') exit() i += 1 print('3')