結果
問題 |
No.1611 Minimum Multiple with Double Divisors
|
ユーザー |
|
提出日時 | 2021-07-22 03:36:57 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 429 bytes |
コンパイル時間 | 526 ms |
コンパイル使用メモリ | 64,380 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-07-17 21:10:15 |
合計ジャッジ時間 | 6,299 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 9 WA * 28 |
コンパイルメッセージ
main.cpp:6:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type] 6 | main() | ^~~~
ソースコード
#include<iostream> using namespace std; int T; long X; bool isp[50]; main() { for(int i=2;i<50;i++)if(!isp[i]) { for(int j=i+i;j<50;j+=i)isp[j]=true; } cin>>T; for(;T--;) { cin>>X; long ans=9e18; long X_=X; for(int i=2;i<50;i++)if(!isp[i]) { if(X%i==0) { long t=1; while(X%i==0) { X/=i; t*=i; } if(i<ans/t)ans=t*i; } else if(ans>i)ans=i; } cout<<ans*X_<<endl; } }