結果
問題 | No.1312 Snake Eyes |
ユーザー |
![]() |
提出日時 | 2020-12-11 14:51:40 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 150 ms / 2,000 ms |
コード長 | 1,319 bytes |
コンパイル時間 | 1,388 ms |
コンパイル使用メモリ | 122,596 KB |
最終ジャッジ日時 | 2025-01-16 22:07:17 |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 85 |
ソースコード
#include<iostream>#include<string>#include<cstring>#include<algorithm>#include<vector>#include<iomanip>#include<math.h>#include<complex>#include<queue>#include<deque>#include<stack>#include<map>#include<set>#include<bitset>#include<functional>#include<assert.h>#include<numeric>using namespace std;#define REP(i,m,n) for(int i=(int)(m) ; i < (int) (n) ; ++i )#define rep(i,n) REP(i,0,n)using ll = long long;const int inf=1e9+7;const ll longinf=1LL<<60 ;const ll mod=1e9+7 ;vector<pair<long long, long long> > prime_factorize(long long n) {vector<pair<long long, long long> > res;for (long long p = 2; p * p <= n; ++p) {if (n % p != 0) continue;int num = 0;while (n % p == 0) { ++num; n /= p; }res.push_back(make_pair(p, num));}if (n != 1) res.push_back(make_pair(n, 1));return res;}int main(){ll n; cin >> n; ll ans = -1;if(n==2){cout << 3 << endl; return 0;}for(ll i=2; i<=1000001; i++){ll now = n; set<ll> keta;while(now>0){keta.insert(now%i); now/=i;}if(keta.size()==1){ans = i; break;}}if(ans!=-1){cout << ans << endl; return 0;}for(ll i=1000000; i>=1; i--){if(n%i==0 && i<(n/i)-1){ans = n/i - 1; break;}}cout << ans << endl;}