結果
| 問題 |
No.1723 [Cherry 3rd Tune *] Dead on
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-06-12 00:10:53 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,553 bytes |
| コンパイル時間 | 745 ms |
| コンパイル使用メモリ | 82,204 KB |
| 実行使用メモリ | 13,892 KB |
| 最終ジャッジ日時 | 2024-09-22 10:46:14 |
| 合計ジャッジ時間 | 6,285 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 WA * 2 TLE * 1 -- * 35 |
ソースコード
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <tuple>
#include <bitset>
#define rep(i,n) for(i=0; i<n; ++i)
#define in(a) cin >> a
#define out(a,b) cout << a << b
using namespace std;
using lint = long long;
bool is_prime(lint n){
if(n==2||n==3) return true;
if(n<2||n%2==0) return false;
bool f=true;
for(lint i=3; i*i<=n; i+=2){
if(n%i==0){
f=false; break;
}
}
return f;
}
vector<pair<lint, lint>> prime_factorize(int n){
vector<pair<lint, lint>> prime_factors; lint p=2, cnt=0;
while(n>1){
if(n%p!=0){
if(cnt!=0){
prime_factors.push_back(make_pair(p, cnt)); cnt=0;
}
do{p++;}while(!is_prime(p));
}
else{
n/=p; cnt++;
}
}
prime_factors.push_back(make_pair(p, cnt));
return prime_factors;
}
lint div_much(lint num, lint r){
lint cnt=0;
while(num%r==0){
num/=r; cnt++;
}
return cnt;
}
int main(void){
// lint i, j;
lint n, m;
lint x, a, y, b;
in(x);
in(a);
in(y);
in(b);
vector<pair<lint, lint>> primes_y=prime_factorize(y);
lint y_i=primes_y.size();
bool covered=true;
lint i, j=0;
rep(i,y_i){
lint n_y, p_y, cnt;
tie(p_y, n_y)=primes_y[i];
cnt=div_much(x ,p_y);
if(cnt*a<n_y*b){
covered=false;
break;
}
}
covered? out("Yes", endl):out("No", endl);
return 0;
}