提出 #47230351


ソースコード 拡げる

#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;

//template
using ll = long long;
using ull = unsigned long long;
const int inf = INT_MAX/2;
const ll infl = LONG_MAX/2;

#define OVERLOAD(e1, e2, e3, e4, NAME, ...) NAME
#define REP1(i, b) for (ll i = 0, i##_len = ll(b); i < i##_len; i++)
#define REP2(i, a, b) for (ll i = ll(a), i##_len = ll(b); i < i##_len; i++)
#define REP3(i, a, b, c) for (ll i = ll(a), i##_len = ll(b); i < i##_len; i += ll(c))
#define rep(...) OVERLOAD(__VA_ARGS__, REP3, REP2, REP1)(__VA_ARGS__)
#define REPS1(i, b) for (ll i = 0, i##_len = ll(b); i <= i##_len; i++)
#define REPS2(i, a, b) for (ll i = ll(a), i##_len = ll(b); i <= i##_len; i++)
#define REPS3(i, a, b, c) for (ll i = ll(a), i##_len = ll(b); i <= i##_len; i += ll(c))
#define reps(...) OVERLOAD(__VA_ARGS__, REPS3, REPS2, REPS1)(__VA_ARGS__)
#define RREP1(i, a) for (ll i = ll(a); i >= 0; i--)
#define RREP2(i, a, b) for (ll i = ll(a), i##_len = ll(b); i >= i##_len; i--)
#define RREP3(i, a, b, c) for (ll i = ll(a), i##_len = ll(b); i >= i##_len; i -= ll(c))
#define rrep(...) OVERLOAD(__VA_ARGS__, RREP3, RREP2, RREP1)(__VA_ARGS__)

#define vrep(i, vec) for (auto &i: vec)
#define all(x) (x).begin(), (x).end()
#define Yes(bool) if(bool) {println("Yes");} else {println("No");}

const double pi = 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117;
template<class T> double rad(const T theta) { return theta*pi/180; }

ll mpow(ll x, ll n) { ll ret = 1; while (n > 0) { if (n & 1) ret *= x; x *= x; n >>= 1; } return ret; }

void printd() { cout << '\n'; } template<class T, class... Ts> void printd(const T& a, const Ts&... b) { cout << setprecision(20) << a; if (sizeof...(b) != 0) {cout << ' ';}; printd(b...); }
void println() { cout << '\n'; } template<class T, class... Ts> void println(const T& a, const Ts&... b) { cout << a; if (sizeof...(b) != 0) {cout << ' ';}; println(b...); }
void print() {} template<class T, class... Ts> void print(const T& a, const Ts&... b) { cout << a; if (sizeof...(b) != 0) {cout << ' ';}; print(b...); }
template<class T> void printv(const T vec) { int i = 0; int s = vec.size(); vrep(v, vec) { print(v); i++; if (i != s) print(' '); } println(); }
template<class T> void printvv(const T vec) { vrep(v, vec) { printv(v); } }
void in() {} template<class T, class... Ts> void in(T& a, Ts&... b) { cin >> a; in(b...); }



int main() {
    ll B;
    in(B);

    ll ans = -1;
    rep(i, 1, 16) {
        ll x = mpow(i, i);
        
        if (x == B) {
            ans = i;
            break;
        }
    }

    println(ans);

    return 0;
}

提出情報

提出日時
問題 B - A^A
ユーザ kaede2912
言語 C++ 23 (gcc 12.2)
得点 200
コード長 2724 Byte
結果 AC
実行時間 1 ms
メモリ 3708 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 200 / 200
結果
AC × 3
AC × 21
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 02_hack_1_00.txt, 02_hack_1_01.txt, 03_hack_2_00.txt, 03_hack_2_01.txt, 03_hack_2_02.txt, 03_hack_2_03.txt, 04_corner_00.txt, 04_corner_01.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 3556 KiB
00_sample_01.txt AC 1 ms 3520 KiB
00_sample_02.txt AC 1 ms 3708 KiB
01_random_00.txt AC 1 ms 3640 KiB
01_random_01.txt AC 1 ms 3568 KiB
01_random_02.txt AC 1 ms 3520 KiB
01_random_03.txt AC 1 ms 3564 KiB
01_random_04.txt AC 1 ms 3636 KiB
01_random_05.txt AC 1 ms 3476 KiB
01_random_06.txt AC 1 ms 3572 KiB
01_random_07.txt AC 1 ms 3572 KiB
01_random_08.txt AC 1 ms 3632 KiB
01_random_09.txt AC 1 ms 3572 KiB
02_hack_1_00.txt AC 1 ms 3496 KiB
02_hack_1_01.txt AC 1 ms 3700 KiB
03_hack_2_00.txt AC 1 ms 3516 KiB
03_hack_2_01.txt AC 1 ms 3568 KiB
03_hack_2_02.txt AC 1 ms 3516 KiB
03_hack_2_03.txt AC 1 ms 3516 KiB
04_corner_00.txt AC 1 ms 3504 KiB
04_corner_01.txt AC 1 ms 3520 KiB