結果
| 問題 |
No.688 E869120 and Constructing Array 2
|
| コンテスト | |
| ユーザー |
syunsuke
|
| 提出日時 | 2018-06-19 23:05:55 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 2,570 bytes |
| コンパイル時間 | 148 ms |
| コンパイル使用メモリ | 13,184 KB |
| 実行使用メモリ | 18,332 KB |
| 最終ジャッジ日時 | 2024-07-07 14:18:49 |
| 合計ジャッジ時間 | 2,854 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 3 |
| other | AC * 3 TLE * 1 -- * 6 |
ソースコード
N=int(input())
if N%2==1:
for i in range(-4,int((N))):
for j in range(100):
if (int(N)-i)*(int(N)-i+1)*(2**(j))>2*N:
break
elif (int(N)-i)*(int(N)-i+1)*(2**(j))==2*N:
listans=[int(N)-i+1,j]
elif (int(N)-i)*(int(N)-i+1)*(2**(j))<2*N:
j+=1
#print(listans)
list1=[]
for k in range(listans[0]):
list1.append(1)
for l in range(listans[1]):
list1.append(0)
print(listans[0]+listans[1])
a=""
for m in range(len(list1)):
a=a+" "+str(list1[m])
print(a.lstrip())
elif N%8==0:
for i in range(-4,int((N))):
for j in range(100):
if (int(N)-i)*(int(N)-i+1)*(2**(j))>N/4:
break
elif (int(N)-i)*(int(N)-i+1)*(2**(j))==N/4:
listans=[int(N)-i+1,j]
elif (int(N)-i)*(int(N)-i+1)*(2**(j))<N/4:
j+=1
#print(listans)
list1=[]
for k in range(listans[0]):
list1.append(1)
for l in range(listans[1]+3):
list1.append(0)
print(listans[0]+listans[1]+3)
a=""
for m in range(len(list1)):
a=a+" "+str(list1[m])
print(a.lstrip())
elif N%4==0:
for i in range(-4,int((N))):
for j in range(100):
if (int(N)-i)*(int(N)-i+1)*(2**(j))>N/2:
break
elif (int(N)-i)*(int(N)-i+1)*(2**(j))==N/2:
listans=[int(N)-i+1,j]
elif (int(N)-i)*(int(N)-i+1)*(2**(j))<N/2:
j+=1
#print(listans)
list1=[]
for k in range(listans[0]):
list1.append(1)
for l in range(listans[1]+2):
list1.append(0)
print(listans[0]+listans[1]+2)
a=""
for m in range(len(list1)):
a=a+" "+str(list1[m])
print(a.lstrip())
elif N%2==0:
for i in range(-4,int((N))):
for j in range(100):
if (int(N)-i)*(int(N)-i+1)*(2**(j))>N:
break
elif (int(N)-i)*(int(N)-i+1)*(2**(j))==N:
listans=[int(N)-i+1,j]
elif (int(N)-i)*(int(N)-i+1)*(2**(j))<N:
j+=1
#print(listans)
list1=[]
for k in range(listans[0]):
list1.append(1)
for l in range(listans[1]+1):
list1.append(0)
print(listans[0]+listans[1]+1)
a=""
for m in range(len(list1)):
a=a+" "+str(list1[m])
print(a.lstrip())
syunsuke