結果
問題 | No.371 ぼく悪いプライムじゃないよ |
ユーザー |
|
提出日時 | 2016-10-08 09:08:02 |
言語 | C++11 (gcc 13.3.0) |
結果 |
RE
|
実行時間 | - |
コード長 | 821 bytes |
コンパイル時間 | 701 ms |
コンパイル使用メモリ | 61,100 KB |
実行使用メモリ | 400,704 KB |
最終ジャッジ日時 | 2024-11-21 20:26:49 |
合計ジャッジ時間 | 13,196 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 14 RE * 25 TLE * 3 |
ソースコード
#include <iostream> #include <vector> using namespace std; typedef long long ll; vector<int> calc(ll N){ vector<int> v(N,1); v[0]=0; v[1]=0; for(ll i=2;i*i<=N;++i){ if(v[i]){ for(ll j=i*i;j<=N;j+=i){ if(v[j]) v[j]=0; } } } vector<int> v2; for(int i=0;i<N;++i){ if(v[i]) v2.push_back(i); } return v2; } int main(){ ll L=0,H=0;cin>>L>>H; vector<int> v=calc(H+1); ll ans=0; int lf=0; for(int i=v.size()-1;i>=0;--i){ if(lf==0){ for(ll j=H;j>=L;--j){ if(j%v[i]==0 && j/v[i]!=1){ int f=0; for(int k=i-1;k>=0;--k){ if(j%v[k]==0){ f=1; break; } } // k if(f==0){ ans=j; lf=1; break; } } } //j } //lf } //i cout<<ans<<endl; }