結果
問題 |
No.1250 汝は倍数なりや?
|
ユーザー |
|
提出日時 | 2020-12-05 10:45:55 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,728 bytes |
コンパイル時間 | 2,166 ms |
コンパイル使用メモリ | 194,812 KB |
最終ジャッジ日時 | 2025-01-16 17:27:52 |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 WA * 10 RE * 12 TLE * 4 |
ソースコード
#include <bits/stdc++.h> using namespace std; const double pi = 3.14159265358979; #define setup\ cin.tie(0);\ ios::sync_with_stdio(false);\ cout << setprecision(20) << fixed; #define int long long int #define db double #define P pair<int,int> #define F first #define S second #define endl "\n" #define dtor(deg) (((deg)/360)*2*pi) #define rtod(rad) (((rad)/2/pi)*360) #define all(a) a.begin(),a.end() #define Srep(n) for(int i = 0; i < n; i++) #define Lrep(i,a,n) for(int i = a; i < n; i++) #define Brep1st(n) for(int bit = 0; bit < (1 << n); bit++) #define Brep2nd(n) Srep(n) if(bit >> i & 1) #define rep2d(n,m) Srep(n) Lrep(j,0,m) #define vi vector<int> #define vvi vector<vi> #define vdb vector<db> #define vb vector<bool> bool is_prime(int n){ if (n < 2) return 0; else if (n == 2) return 1; else if (n % 2 == 0) return 0; for(int i = 3; i * i <= n; i += 2) if(n % i == 0) return 0; return 1; } signed main(){ setup; int n, h; cin >> n >> h; if(is_prime(h)){ Srep(n){ int input; cin >> input; if(input == h){ cout << "YES" << endl; return 0; } } cout << "NO" << endl; return 0; } vi divisor(h); for(int i = 2; i * i <= h; i++){ while(!(h % i)){ h /= i; divisor[i]++; } } Srep(n){ int input; cin >> input; for(int j = 2; j * j <= input; j++){ while(!(input % j)){ input /= j; divisor[j]--; } } } auto itr = max_element(all(divisor)); if(*itr <= 0) cout << "YES" << endl; else cout << "NO" << endl; }