結果

問題 No.371 ぼく悪いプライムじゃないよ
ユーザー itezpaceitezpace
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
}
0