結果
問題 |
No.2751 429-like Number
|
ユーザー |
![]() |
提出日時 | 2024-07-28 16:11:18 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 1,017 ms / 4,000 ms |
コード長 | 952 bytes |
コンパイル時間 | 1,867 ms |
コンパイル使用メモリ | 172,236 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-28 16:11:25 |
合計ジャッジ時間 | 7,176 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 6 |
other | AC * 22 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll = long long; #define rep(i,m,n) for(int i=m; i<n; ++i) #define repl(i,m,n) for(ll i=m; i<n; ++i) int main(){ int Q; cin >> Q; vector<ll> A(Q); rep(i, 0, Q) cin >> A[i]; const ll MAX = ll(1e5 + 100); vector<bool> is_prime(MAX, true); is_prime[0] = is_prime[1] = false; vector<ll> p_list; for(ll i = 2LL; i < MAX; ++i){ if(!is_prime[i]) continue; p_list.push_back(i); for(ll j = i+i; j < MAX; j += i){ is_prime[j] = false; } } rep(q, 0, Q){ int cnt_factor = 0; for(ll p : p_list){ if(p*p > A[q]) break; if(A[q] % p != 0LL) continue; while(A[q] % p == 0LL){ A[q] /= p; cnt_factor++; } } if(A[q] != 1LL) cnt_factor++; cout << (cnt_factor == 3 ? "Yes" : "No") << endl; } return 0; }