結果
問題 |
No.1723 [Cherry 3rd Tune *] Dead on
|
ユーザー |
![]() |
提出日時 | 2021-10-29 21:31:51 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 24 ms / 2,000 ms |
コード長 | 1,241 bytes |
コンパイル時間 | 1,781 ms |
コンパイル使用メモリ | 178,136 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-07 10:09:49 |
合計ジャッジ時間 | 3,457 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
ソースコード
#include <bits/stdc++.h> #define fi first #define se second #define pb push_back #define sz(a) (int)a.size() #define all(a) a.begin(),a.end() #define rep(i,n) for(int i=0;i<n;i++) #define crep(i,x,n) for(int i=x;i<n;i++) #define drep(i,n) for(int i=n-1;i>=0;i--) #define vec(...) vector<__VA_ARGS__> #define _30Vyddk ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0) using namespace std; typedef long long ll; typedef long double ld; using pii=pair<int,int>; using vi=vector<int>; int main(){ _30Vyddk; ll x,y,a,b; cin>>x>>a>>y>>b; ll n=x,m=y; vec(pair<ll,ll>) _a,_b; for(int i=2;i<=sqrt(n);i++){ ll cnt=0; while(n%i==0){ cnt++; n/=i; } if(cnt) _a.pb({cnt,i}); } if(n>1) _a.pb({1,n}); for(int i=2;i<=sqrt(m);i++){ ll cnt=0; while(m%i==0){ cnt++; m/=i; } if(cnt) _b.pb({cnt,i}); } if(m>1) _b.pb({1,m}); rep(i,sz(_a)){ _a[i].fi=_a[i].fi*a; } std::map<ll,ll> mp; rep(i,sz(_b)){ _b[i].fi=_b[i].fi*b; mp[_b[i].se]=_b[i].fi; } bool pokita=1; std::map<ll,ll> mp1; rep(i,sz(_a)){ ll x=_a[i].se; mp1[x]=1; if(mp[x]>_a[i].fi){ pokita=0; } } rep(i,sz(_b)){ if(mp1.find(_b[i].se)==mp1.end()) pokita=0; } if(pokita){ cout<<"Yes\n"; }else{ cout<<"No\n"; } // return 0; }