結果
問題 | No.1312 Snake Eyes |
ユーザー |
|
提出日時 | 2023-04-04 19:42:57 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 993 bytes |
コンパイル時間 | 4,108 ms |
コンパイル使用メモリ | 251,072 KB |
最終ジャッジ日時 | 2025-02-11 22:58:22 |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 83 WA * 2 |
ソースコード
#define _CRT_SECURE_NO_WARNINGS #define _USE_MATH_DEFINES #include <bits/stdc++.h> using namespace std; #include <atcoder/all> using namespace atcoder; #define REP(i, n) for(int i = 0; i < (int)n; i++) #define LREP(i, n) for(LL i = 0; i < (LL)n; i++) #define RREP(i, n) for(int i = (int)n-1; i >= 0; i--) #define V(T) vector<T> #define P pair<int, int> #define LP pair<LL, LL> #define T3 tuple<LL, LL, LL> #define T4 tuple<LL, LL, LL, LL> #define INF 1000000007 #define SIZE 500100 #define MOD 1000000007 typedef long long LL; LL N; bool check(LL p) { if (N < p) return true; LL n = N; LL d = N % p; bool res = true; while (n > 0) { if (n % p != d) res = false; n = (n - n % p); n /= p; } return res; } int main() { cin >> N; LL ans = N - 1; for (LL i = 2; i <= 1000000; i++) { if (check(i)) ans = min(ans, i); } for (LL i = 1; i * i <= N; i++) { if (N % i == 0) { LL j = N / i; LL p = j - 1; if (i < p) ans = min(ans, p); } } cout << ans << endl; }