結果
問題 |
No.1250 汝は倍数なりや?
|
ユーザー |
![]() |
提出日時 | 2020-10-11 13:17:20 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,096 bytes |
コンパイル時間 | 2,799 ms |
コンパイル使用メモリ | 202,344 KB |
最終ジャッジ日時 | 2025-01-15 06:35:42 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 45 WA * 4 |
ソースコード
#include <bits/stdc++.h> #define fastIO (cin.tie(0), cout.tie(0), ios::sync_with_stdio(false)) using namespace std; vector<int> divEnumeration(int num) { vector<int> res; if (num == 1) { res.emplace_back(1); return res; } int mod = 2; while (mod * mod <= num) { if (num % mod == 0) { res.emplace_back(mod); num /= mod; } else { if (mod == 2) { mod++; } else { mod += 2; } } } res.emplace_back(num); return res; } int main() { fastIO; int n, h; cin >> n >> h; map<int, int> mp; for (const auto mod : divEnumeration(h)) { if (mp.find(mod) != mp.end()) { mp[mod] += 1; } else { mp[mod] = 1; } } for (int i = 0, num; i < n; ++i) { cin >> num; for (const auto mod : divEnumeration(num)) { if (mp.find(mod) != mp.end()) { mp[mod]--; } } } bool isDivide = true; for (const auto m : mp) { if (m.second > 0) { isDivide = false; } } if (isDivide) cout << "YES" << '\n'; else cout << "NO" << '\n'; return 0; }