Submission #379766

#TimeUsernameProblemLanguageResultExecution timeMemory
379766SolarSystemOdd-even (IZhO11_oddeven)C++17
0 / 100
1 ms384 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
#include <string>
#include <math.h>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <stdio.h>
#include <numeric>
#include <iomanip>
#include <random>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    long long n;
    cin >> n;

    long long l = 0, r = 1e18;

    while (l + 1 < r) {
        long long m = (l + r) / 2;

        if ((long double) m > (long double) 2e18 / (m + 1) || m * (m + 1) / 2 > n) {
            r = m;
        } else {
            l = m;
        }
    }

    if (l * (l + 1) / 2 == n) cout << l * l;
    else {
        cout << l * l + (n - l * (l + 1) / 2) * 2 - 1;
    }

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...