結果
問題 | No.1250 汝は倍数なりや? |
ユーザー | 🍮かんプリン |
提出日時 | 2020-10-09 21:24:57 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 75 ms / 1,000 ms |
コード長 | 1,096 bytes |
コンパイル時間 | 1,717 ms |
コンパイル使用メモリ | 171,572 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-20 08:17:52 |
合計ジャッジ時間 | 4,128 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 49 |
ソースコード
/** * @FileName a.cpp * @Author kanpurin * @Created 2020.10.09 21:24:53 **/ #include "bits/stdc++.h" using namespace std; typedef long long ll; template<typename T> vector<pair<T,int>> prime_factorization(T n) { vector<pair<T, int>> res; for (T i = 2; i*i <= n; i++) { int cnt = 0; while (n % i == 0) { n /= i; cnt++; } if (cnt > 0) res.push_back({i,cnt}); } if (n > 1) res.push_back({n,1}); return res; } int main() { int n,h;cin >> n >> h; vector<int> a(n); auto v = prime_factorization(h); for (int i = 0; i < n; i++) { int a;cin >> a; for (int j = 0; j < v.size(); j++) { if (a == 1) break; if (v[j].second == 0) continue; while(v[j].second >= 1 && a % v[j].first == 0) { a /= v[j].first; v[j].second--; } } } for (int i = 0; i < v.size(); i++) { if (v[i].second != 0) { puts("NO"); return 0; } } puts("YES"); return 0; }