# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
17892 | chrome | Odd-even (IZhO11_oddeven) | C++98 | 0 ms | 1716 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define foreach(it, S) for (__typeof (S.begin()) it = S.begin(); it != S.end(); it++)
#define all(x) x.begin(), x.end()
#define endl '\n'
#define _ ios_base :: sync_with_stdio(false); cin.tie(NULL);
#ifdef inputf
#define fname ""
#else
#define fname "" // <- Here
#endif
const double eps = 1e-9;
const int MaxN = int(2e5) + 256;
const int MOD = int(1e9) + 7;
template <typename T> inline T gcd(T a, T b) {
return b ? gcd (b, a % b) : a;
}
inline bool Palindrome(const string& s) {
return equal(s.begin(), s.end(), s.rbegin());
}
int main() { // _
#ifdef lcl
freopen(fname".in", "r", stdin);
freopen(fname".out", "w", stdout);
#endif
ll x; cin >> x;
if (x == 1) {
cout << 1;
return 0;
}
ll l = 0, r = 1000000000;
while (r - l > 1) {
ll m = l + (r - l) / 2;
if (m * (m + 1) / 2 >= x)
r = m;
else
l = m;
}
ll ans = r;
if (r * (r + 1) / 2 >= x)
ans = l;
// cerr << ans << " " << l << " " << r << endl;
ll k = ans * ans + 1;
k += 2 * (x - ans * (ans + 1) / 2 - 1);
cout << k;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |