結果
| 問題 |
No.1312 Snake Eyes
|
| コンテスト | |
| ユーザー |
ytft
|
| 提出日時 | 2021-05-24 04:45:07 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 692 bytes |
| コンパイル時間 | 7,126 ms |
| コンパイル使用メモリ | 391,804 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-12 10:11:41 |
| 合計ジャッジ時間 | 17,891 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 61 WA * 24 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#include <boost/multiprecision/cpp_int.hpp>
typedef boost::multiprecision::cpp_int mp;
mp pow(mp a,mp b){
mp ans=1;
mp temp=a;
while(b>0){
if(b%2){
ans*=temp;
}
temp=temp*temp;
b=b/2;
}
return ans;
}
int main(){
mp N;
cin>>N;
mp ans=0;
for(mp x=1;x*x+x<N;x++){
if(N%x==0){
ans=N/x-1;
}
}
for(mp K=3;N+1>=pow(2,K);++K){
for(mp p=2;pow(p,K-1)<=N;++p){
if(N%(mp)((pow(p,K)-1)/(p-1))==0){
cerr<<p<<' '<<K<<endl;
ans=min(ans,p);
}
}
}
cout<<ans<<endl;
}
ytft