結果
問題 |
No.2198 Concon Substrings (COuNt-CONstruct Version)
|
ユーザー |
![]() |
提出日時 | 2025-06-12 15:04:36 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 855 bytes |
コンパイル時間 | 270 ms |
コンパイル使用メモリ | 82,532 KB |
実行使用メモリ | 803,612 KB |
最終ジャッジ日時 | 2025-06-12 15:05:34 |
合計ジャッジ時間 | 5,979 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 5 WA * 3 MLE * 1 OLE * 1 -- * 94 |
ソースコード
def find_k(M): low = 0 high = 200000 # Arbitrary large value to cover possible k for M up to 1e12 k_max = 0 while low <= high: mid = (low + high) // 2 t = mid * (mid + 1) * (mid + 2) // 6 if t <= M: k_max = mid low = mid + 1 else: high = mid - 1 return k_max def construct_string(M): if M == 0: return 'kudamakitsukasa' k = find_k(M) while True: M_prime = M - k * (k + 1) * (k + 2) // 6 a = k * (k + 1) // 2 if a == 0: break # This case only when k=0, which is handled above if M_prime % a == 0: t = M_prime // a break else: k -= 1 if k < 0: break return 'con' * k + 'n' * t M = int(input()) print(construct_string(M))