結果

問題 No.237 作図可能性
ユーザー phspls
提出日時 2020-04-12 11:05:18
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 736 bytes
コンパイル時間 4,622 ms
コンパイル使用メモリ 169,988 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-22 02:17:22
合計ジャッジ時間 2,729 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define llong long long

vector<llong> fermi_primes{3, 5, 17, 257, 65537};

int main() {
    int a;
    cin >> a;

    vector<llong> cands;
    rep(i, 32) {
        bitset<5> bits(i);
        llong cand = 1;
        rep(j, 5) if(bits[j] == 1) cand*=fermi_primes[j];
        cands.push_back(cand);
    }
    int limit = cands.size();
    rep(i, limit) {
        int times = 2;
        while(true) {
            if(cands[i]*times > a) break;
            cands.push_back(cands[i]*times);
            times*=2;
        }
    }
    int result=0;
    rep(i, cands.size()) result += cands[i] <= a && cands[i] > 2;

    cout << result << "\n";
}
0