結果
問題 |
No.1611 Minimum Multiple with Double Divisors
|
ユーザー |
![]() |
提出日時 | 2021-07-21 21:48:06 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 804 bytes |
コンパイル時間 | 1,788 ms |
コンパイル使用メモリ | 193,640 KB |
最終ジャッジ日時 | 2025-01-23 03:48:29 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 9 WA * 28 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int T; cin >> T; while (T--) { long long X; cin >> X; vector<int>prime = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97}; long long ans = 1001001001001001001; for(int i = 0; i < prime.size(); i++) { long long cnt = X*prime[i]; long long Y = X; bool flag = false; while (Y%prime[i] == 0) { Y /= prime[i]; if(1001001001001001001LL/prime[i] < cnt) { flag = true; } cnt *= prime[i]; } if(flag) { continue; } ans = min(ans,cnt); } cout << ans << endl; } }