結果
問題 | No.2198 Concon Substrings (COuNt-CONstruct Version) |
ユーザー |
|
提出日時 | 2023-01-27 23:19:32 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,104 bytes |
コンパイル時間 | 226 ms |
コンパイル使用メモリ | 82,196 KB |
実行使用メモリ | 71,736 KB |
最終ジャッジ日時 | 2024-06-28 08:09:15 |
合計ジャッジ時間 | 13,607 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 88 WA * 16 |
ソースコード
from collections import *from itertools import *from functools import *from heapq import *import sys,mathinput = sys.stdin.readlineM = int(input())def fcr(n):ng = math.ceil(n**(1/3)) + 100ok = math.ceil(n**(1/3)) - 100while ng-ok>1:mid = (ng+ok)//2if mid**3<=n:ok = midelse:ng = midreturn okif M <= 10**6:N = fcr(M)delta = M - N**3if N**3+N > M:N -= 1Y = N-1Z = NW = NX = M - N**3 - Nans = ['c','o'] + ['n']*X + ['c']*Y + ['o']*Z + ['n']*Wprint(''.join(ans))exit()N = fcr(M)for k in range(-1,2):W = N + kflg = Falsefor i in range(-1000,1000):Z = N+ifor j in range(-1000,1000):Y = N+jif (1< M - W*((Y+1)*Z+1) + W + Y + Z<=59998)&(M >= W*((Y+1)*Z+1)):flg = Truebreakif flg:breakif flg:breakX = M - W*(Z*(Y+1)+1)ans = ['c','o'] + ['n']*X + ['c']*Y + ['o']*Z + ['n']*Wprint(''.join(ans))