結果
| 問題 | 
                            No.1058 素敵な数
                             | 
                    
| コンテスト | |
| ユーザー | 
                             kyoprouno
                         | 
                    
| 提出日時 | 2020-05-22 21:32:36 | 
| 言語 | C++14  (gcc 13.3.0 + boost 1.87.0)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 3 ms / 2,000 ms | 
| コード長 | 1,282 bytes | 
| コンパイル時間 | 2,009 ms | 
| コンパイル使用メモリ | 181,144 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-05 15:36:02 | 
| 合計ジャッジ時間 | 2,532 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 1 | 
| other | AC * 9 | 
ソースコード
#pragma GCC optimize("O3")
#include <bits/stdc++.h>
#define ll long long
#define rep(i,n) for(ll i=0;i<(n);i++)
#define pll pair<ll,ll>
#define pq priority_queue
#define pb push_back
#define eb emplace_back
#define fi first
#define se second
#define ios ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define lb(c,x) distance(c.begin(),lower_bound(all(c),x))
#define ub(c,x) distance(c.begin(),upper_bound(all(c),x))
using namespace std;
template<class T> inline bool chmax(T& a,T b){if(a<b){a=b;return 1;}return 0;}
template<class T> inline bool chmin(T& a,T b){if(a>b){a=b;return 1;}return 0;}
const ll INF=1e9+7;
bool prime(ll x){
    bool ok=true;
    for(ll i=2;i*i<=x;i++){
        if(x%i==0){
            ok=false;
        }
    }
    return ok;
}
int main()
{
    ll n;
    cin >> n;
    ll sum=0;
    ll num=100001;
    vector<ll> p(10);
    set<ll> s;
    while(sum<10){
        if(prime(num)){
            p[sum]=num;
            sum++;
        }
        num++;
    }
    rep(i,10){
        rep(j,10){
            s.insert(p[i]*p[j]);
        }
    }
    if(n==1){
        cout << 1 << endl;
        return 0;
    }
    n-=2;
    for(auto x:s){
        if(!n){
            cout << x << endl;
            return 0;
        }
        n--;
    }
    return 0;
} 
            
            
            
        
            
kyoprouno