結果
問題 | No.12 限定された素数 |
ユーザー |
|
提出日時 | 2023-01-20 01:34:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,503 ms / 5,000 ms |
コード長 | 889 bytes |
コンパイル時間 | 443 ms |
コンパイル使用メモリ | 82,424 KB |
実行使用メモリ | 320,260 KB |
最終ジャッジ日時 | 2024-06-22 18:36:06 |
合計ジャッジ時間 | 39,859 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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)