提出 #47918248
ソースコード 拡げる
#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 D;
in(D);
ll a = 0;
vector<ll> v;
while(1) {
if (a*a <= 2000000000000) {
v.push_back(a*a);
} else {
break;
}
a++;
}
ll ans = infl;
rep(i, v.size()) {
ll x = v[i];
if (x == D) {
ans = 0;
break;
} else if (x-D < 0) {
auto p = lower_bound(all(v), abs(x-D));
ans = min(ans, abs(x+(*p)-D));
p--;
ans = min(ans, abs(x+(*p)-D));
}
}
println(ans);
return 0;
}
提出情報
| 提出日時 |
|
| 問題 |
C - Minimize Abs 2 |
| ユーザ |
kaede2912 |
| 言語 |
C++ 23 (gcc 12.2) |
| 得点 |
300 |
| コード長 |
3099 Byte |
| 結果 |
AC |
| 実行時間 |
67 ms |
| メモリ |
19824 KiB |
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
300 / 300 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All |
00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 02_handmade_01.txt, 02_handmade_02.txt, 02_handmade_03.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| 00_sample_01.txt |
AC |
13 ms |
19608 KiB |
| 00_sample_02.txt |
AC |
14 ms |
19640 KiB |
| 00_sample_03.txt |
AC |
13 ms |
19696 KiB |
| 01_test_01.txt |
AC |
55 ms |
19656 KiB |
| 01_test_02.txt |
AC |
31 ms |
19692 KiB |
| 01_test_03.txt |
AC |
53 ms |
19604 KiB |
| 01_test_04.txt |
AC |
60 ms |
19660 KiB |
| 01_test_05.txt |
AC |
49 ms |
19684 KiB |
| 01_test_06.txt |
AC |
66 ms |
19584 KiB |
| 01_test_07.txt |
AC |
52 ms |
19656 KiB |
| 01_test_08.txt |
AC |
51 ms |
19652 KiB |
| 01_test_09.txt |
AC |
58 ms |
19728 KiB |
| 01_test_10.txt |
AC |
62 ms |
19600 KiB |
| 01_test_11.txt |
AC |
66 ms |
19684 KiB |
| 01_test_12.txt |
AC |
51 ms |
19652 KiB |
| 01_test_13.txt |
AC |
54 ms |
19700 KiB |
| 01_test_14.txt |
AC |
58 ms |
19576 KiB |
| 01_test_15.txt |
AC |
30 ms |
19648 KiB |
| 01_test_16.txt |
AC |
50 ms |
19692 KiB |
| 01_test_17.txt |
AC |
44 ms |
19688 KiB |
| 01_test_18.txt |
AC |
56 ms |
19692 KiB |
| 01_test_19.txt |
AC |
56 ms |
19656 KiB |
| 01_test_20.txt |
AC |
39 ms |
19640 KiB |
| 01_test_21.txt |
AC |
11 ms |
19648 KiB |
| 01_test_22.txt |
AC |
12 ms |
19728 KiB |
| 01_test_23.txt |
AC |
13 ms |
19640 KiB |
| 01_test_24.txt |
AC |
11 ms |
19700 KiB |
| 01_test_25.txt |
AC |
13 ms |
19664 KiB |
| 02_handmade_01.txt |
AC |
67 ms |
19596 KiB |
| 02_handmade_02.txt |
AC |
66 ms |
19824 KiB |
| 02_handmade_03.txt |
AC |
63 ms |
19584 KiB |