結果

問題 No.1611 Minimum Multiple with Double Divisors
ユーザー karinohito
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

//#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;
			}

		}
	}
}
0