結果
問題 |
No.1611 Minimum Multiple with Double Divisors
|
ユーザー |
|
提出日時 | 2021-07-21 21:41:47 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 697 bytes |
コンパイル時間 | 1,160 ms |
コンパイル使用メモリ | 122,692 KB |
最終ジャッジ日時 | 2025-01-23 03:37:46 |
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 9 WA * 28 |
ソースコード
#include<iostream> #include<string> #include<vector> #include<stack> #include<queue> #include<set> #include<map> #include<algorithm> #include<numeric> #include<cmath> #include<iomanip> #include<regex> #include<random> using namespace std; #define int long long #define uint unsigned long long const int mod=1e9+7; const int inf=mod*mod; const double eps=1e-9; int pri[11]={2,3,5,7,11,13,17,19,23,29,31}; signed main(){ int t,x; cin>>t; while(cin>>x){ int y=inf; for(int i=0;i<=10;i++){ int p=pri[i],xx=x,e=0; while(xx%p==0){ xx/=p; e++; } if(pow(p,e+1)*x>=inf) continue; int tmp=1; for(int i=0;i<=e;i++) tmp*=p; y=min(y,tmp*x); } cout<<y<<endl; } }