結果
問題 |
No.873 バイナリ、ヤバいなり!w
|
ユーザー |
![]() |
提出日時 | 2024-04-15 11:38:22 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 614 bytes |
コンパイル時間 | 149 ms |
コンパイル使用メモリ | 82,040 KB |
実行使用メモリ | 78,984 KB |
最終ジャッジ日時 | 2024-10-05 06:57:33 |
合計ジャッジ時間 | 5,891 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 WA * 15 |
ソースコード
from collections import deque N=int(input()) inf=1<<30 dp=[inf]*(N+1) dp[0]=0 for i in range(1,N+1): for j in range(1,int(i**.5)+1): dp[i]=min(dp[i],dp[i-j*j]+j) lst=[[],[]] i=N while i: for j in range(1,int(i**.5)+1): if dp[i]==dp[i-j*j]+j: i-=j*j lst[j%2].append(j) ans_lst=[] lst[0].sort() lst[1].sort() for x in lst[1]: for i in range(x): ans_lst.append(i%2) p=0 queue=deque(lst[0]) while queue: if p: x=queue.pop() else: x=queue.popleft() for i in range(x): ans_lst.append((i+p)%2) p^=1 print(*ans_lst,sep="")