結果

問題 No.1664 Unstable f(n)
ユーザー 風月風月
提出日時 2021-09-03 22:11:30
言語 C++14
(gcc 12.3.0 + boost 1.83.0)
結果
WA  
実行時間 -
コード長 2,132 bytes
コンパイル時間 1,710 ms
コンパイル使用メモリ 167,508 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-12-15 13:49:51
合計ジャッジ時間 20,319 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 716 ms
5,248 KB
testcase_02 AC 11 ms
5,248 KB
testcase_03 AC 2 ms
5,248 KB
testcase_04 AC 2 ms
5,248 KB
testcase_05 AC 2 ms
5,248 KB
testcase_06 AC 1 ms
5,248 KB
testcase_07 AC 2 ms
5,248 KB
testcase_08 AC 2 ms
5,248 KB
testcase_09 AC 2 ms
5,248 KB
testcase_10 AC 2 ms
5,248 KB
testcase_11 AC 727 ms
5,248 KB
testcase_12 AC 738 ms
5,248 KB
testcase_13 AC 736 ms
5,248 KB
testcase_14 AC 741 ms
5,248 KB
testcase_15 AC 738 ms
5,248 KB
testcase_16 AC 739 ms
5,248 KB
testcase_17 AC 737 ms
5,248 KB
testcase_18 AC 739 ms
5,248 KB
testcase_19 AC 739 ms
5,248 KB
testcase_20 AC 739 ms
5,248 KB
testcase_21 AC 714 ms
5,248 KB
testcase_22 AC 716 ms
5,248 KB
testcase_23 AC 717 ms
5,248 KB
testcase_24 AC 717 ms
5,248 KB
testcase_25 AC 716 ms
5,248 KB
testcase_26 AC 2 ms
5,248 KB
testcase_27 AC 3 ms
5,248 KB
testcase_28 AC 4 ms
5,248 KB
testcase_29 AC 2 ms
5,248 KB
testcase_30 AC 3 ms
5,248 KB
testcase_31 WA -
testcase_32 AC 716 ms
5,248 KB
testcase_33 AC 715 ms
5,248 KB
testcase_34 AC 136 ms
5,248 KB
testcase_35 AC 739 ms
5,248 KB
testcase_36 AC 717 ms
5,248 KB
testcase_37 AC 737 ms
5,248 KB
testcase_38 AC 3 ms
5,248 KB
testcase_39 AC 717 ms
5,248 KB
testcase_40 AC 725 ms
5,248 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
#include<unordered_map>
#define for_int(i,a,b) for(int i=(a);i<=(b);++i)
#define rep_int(i,a,b) for(int i=(a);i>=(b);--i)
#define for_ll(i,a,b) for(ll i=(a);i<=(b);++i)
#define rep_ll(i,a,b) for(ll i=(a);i>=(b);--i)
#define Ios std::ios::sync_with_stdio(false),std::cin.tie(0)
#define ull unsigned long long
#define ll long long
#define db double
#define PII std::pair<int,int>
#define PLI std::pair<long long , int>
template<class T> void chkmax(T& a, T b) { a > b ? (a = a) : (a = b); }
template<class T> void chkmin(T& a, T b) { a > b ? (a = b) : (a = a); }
template<class T> T min(T a, T b) { return a > b ? b : a; }
template<class T> T max(T a, T b) { return a < b ? b : a; }
template<class T> T abs(T a) { return a < 0 ? -a : a; }
//using namespace std;
/*
    1.注意边界情况
    2.优先考虑时间复杂度
!!! 3.求最大值时,答案应至多初始化为INT_MIN;求最小值时,答案应至少初始化为INT_MAX
    4.遇事不决先暴力
    5.代码要写简洁
    6.计数题要开long long
*/
//快速IO
template<class T>
inline bool rd(T& ret) {
    char c; int sgn;
    if (c = getchar(), c == EOF) return 0;
    while (c != '-' && (c < '0' || c > '9')) c = getchar();
    sgn = (c == '-') ? -1 : 1;
    ret = (c == '-') ? 0 : (c - '0');
    while (c = getchar(), c >= '0' && c <= '9') ret = ret * 10 + (c - '0');
    ret *= sgn;
    return true;
}
template<class T>
inline void print(T x) {
    if (x > 9) print(x / 10);
    putchar(x % 10 + '0');
    return;
}
using std::vector;
using std::queue;
using std::string;
using std::map;
using std::unordered_map;
using std::priority_queue;
using std::cout;
using std::cin;


long long n;
long long res;
int main() {
    rd(n);
    long long dx = sqrt(n);
    if (n < 4) {
        print(n); puts("");
        return 0;
    }
    res = dx + 2 + n - dx * dx;
    for (int i = 2; i <= min(n, 40000000ll); ++i) {
        int k = log(n) / log(i);
        long long tmp = 1, cnt = n;
        for (int j = 1; j <= k; ++j) tmp *= i;
        cnt = n + k + i - tmp;
        chkmin(res, cnt);
    }
    print(res); puts("");
    return 0;
}
0