結果
| 問題 | No.12 限定された素数 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-01-20 01:34:36 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 890 ms / 5,000 ms |
| コード長 | 889 bytes |
| 記録 | |
| コンパイル時間 | 334 ms |
| コンパイル使用メモリ | 85,704 KB |
| 実行使用メモリ | 293,688 KB |
| 最終ジャッジ日時 | 2026-03-06 23:47:32 |
| 合計ジャッジ時間 | 25,361 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 26 |
ソースコード
def eratosthenes(n):
primes=set(range(2,n+1))
for i in range(2,n):
if i in primes:
it = i ** 2
while it <= n:
if it in primes:
primes.remove(it)
it += i
return primes
P=sorted(list(eratosthenes(5*10**6)))
n=int(input())
A=list(map(int,input().split()))
digit = [0 for _ in range(10)]
for a in A:
digit[a]=1
ans=-1
n_digit = [0 for _ in range(10)]
P.append(5*10**6+1)
k=1
for i in range(len(P)-1):
p=P[i]
while(p>0):
n_digit[p%10]=1
p//=10
flag=1
for j in range(10):
if digit[j]==0 and n_digit[j]==1:
for l in range(10):
n_digit[l]=0
k=P[i]+1
flag=0
break
if digit[j]==1 and n_digit[j]==0:
flag=0
if flag==1:
ans=max(ans,P[i+1]-1-k)
print(ans)