結果
| 問題 |
No.458 異なる素数の和
|
| コンテスト | |
| ユーザー |
phtmscg
|
| 提出日時 | 2019-04-21 15:29:11 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 711 bytes |
| コンパイル時間 | 223 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 21,120 KB |
| 最終ジャッジ日時 | 2024-10-05 20:26:26 |
| 合計ジャッジ時間 | 6,792 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 3 |
| other | TLE * 1 -- * 27 |
ソースコード
N = int(input())
if N > 1:
p = [2]
for i in range(3,N+1,2):
for s in p:
if i%s == 0:
break
else:
p += [i]
else:
print(-1)
exit()
p = p[::-1]
Q = [0]*len(p)
q = 0
i = len(p)-1
W = 0
while True:
if i < 0:
Q = [0]
break
elif q + p[i] == N:
Q[i] = 1
if W < sum(Q):
W = sum(Q)
Q[i] = 0
d = Q.index(1)
q -= p[d]
Q[d] = 0
i = d-1
elif q + p[i] < N:
Q[i] = 1
q += p[i]
i -= 1
elif Q.count(1) == 0:
break
else:
d = Q.index(1)
q -= p[d]
Q[d] = 0
i = d-1
print(W if W != 0 else -1)
phtmscg