結果
| 問題 | No.1611 Minimum Multiple with Double Divisors |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-07-22 16:06:38 |
| 言語 | C++14 (gcc 15.3.0 + boost 1.92.0 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 821 ms / 2,000 ms |
| + 7µs | |
| コード長 | 860 bytes |
| 記録 | |
| コンパイル時間 | 978 ms |
| コンパイル使用メモリ | 183,416 KB |
| 実行使用メモリ | 6,528 KB |
| 最終ジャッジ日時 | 2026-09-09 08:45:49 |
| 合計ジャッジ時間 | 8,649 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 37 |
ソースコード
//#include <atcoder/all>
#include <bits/stdc++.h>
using namespace std;
//using namespace atcoder;
using ll = long long;
#define all(A) A.begin(),A.end()
using vll = vector<ll>;
#define rep(i, n) for (long long i = 0; i < (long long)(n); i++)
using Graph = vector<vector<ll>>;
Graph G;
vll dist;
vector<bool> seen;
ll gcd(ll(a), ll(b)) {
ll c = a;
while (a % b != 0) {
c = a % b;
a = b;
b = c;
}
return b;
}
int main() {
ll T;
cin>>T;
vll P={2,3,5,7,11,13,17,19,23,29,31};
ll n=P.size();
rep(i,T){
ll N;
cin>>N;
rep(i,31){
ll M=N*(i+2);
ll an=1;
ll am=1;
ll NN=N;
rep(k,n){
ll y=0;
while(M%P[k]==0){
y++;
M/=P[k];
}
am*=(y+1);
}
rep(k,n){
ll y=0;
while(NN%P[k]==0){
y++;
NN/=P[k];
}
an*=(y+1);
}
if(am==an*2){
cout<<N*(i+2)<<endl;
break;
}
}
}
}