結果

問題 No.2379 Burnside's Theorem
ユーザー Ahsan Ali
提出日時 2025-02-05 19:26:13
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 2,037 bytes
コンパイル時間 2,508 ms
コンパイル使用メモリ 166,692 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2025-02-05 19:26:18
合計ジャッジ時間 4,253 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 2
other AC * 9 WA * 11
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define ull unsigned long long
#define ld long double
#define PI 3.1415926535897932384626433832795l
#define pb push_back
#define forn(i, a, n) for (int i = a; i < n; i++)
#define forrn(i, a, n) for (int i = n - 1; i >= a; i--)
#define inputArr(arr) forn(i, 0, arr.size()) cin >> arr[i]
#define inputArrRange(arr, a, b) forn(i, a, b) cin >> arr[i]
#define printArr(arr) forn(i, 0, arr.size()) cout << arr[i] << " "
#define printArrRange(arr, a, b) forn(i, a, b) cout << arr[i] << " "
#define sz(a) a.size()
#define all(ans) ans.begin(), ans.end()
#define lcm(a, b) ((a * b) / __gcd(a, b))
#define gcd(a, b) (__gcd(a, b))
#define um unordered_map
#define mp make_pair
#define here cout << "here" << endl;
#define print(ans) cout << ans
#define nl cout << endl
#define min_heap(T) priority_queue<T, vector<T>, greater<T>>
#define max_heap(T) priority_queue<T>

typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<pii> vpii;
typedef vector<pll> vpll;
typedef vector<vi> vvi;
typedef vector<vl> vvl;
typedef vector<char> vc;
typedef vector<vc> vvc;
typedef vector<string> vs;
typedef vector<vs> vvs;
typedef vector<bool> vb;

vb prime(1e6 + 1, true);
vi primes;
void sieve(ll int n)
{
    for (ll int p = 2; p * p <= n; p++)
    {
        if (prime[p] == true)
        {
            primes.pb(p);
            for (ll int i = p * p; i <= n; i += p)
                prime[i] = false;
        }
    }
}

void solve()
{
    ll int n;
    cin >> n;
    sieve(1e6 + 1);
    sort(all(primes));
    int cnt = 0;
    forn(i, 0, sz(primes))
    {
        if (n % primes[i] == 0)
        {
            cnt++;
            n /= primes[i];
        }
    }

    if (cnt <= 2 && n <= 1)
        cout << "Yes\n";
    else
        cout << "No\n";
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int tc = 1;
    // cin >> tc;
    for (int t = 1; t <= tc; t++)
    {
        solve();
    }
}
0