結果
| 問題 |
No.1611 Minimum Multiple with Double Divisors
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-07-22 16:06:38 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
TLE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 860 bytes |
| コンパイル時間 | 1,550 ms |
| コンパイル使用メモリ | 171,624 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-10-03 02:52:28 |
| 合計ジャッジ時間 | 16,617 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 36 TLE * 1 |
ソースコード
//#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;
}
}
}
}