結果
問題 | 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 1000000007typedef 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;}