Submission

Status:
[PPPP-SSSS]

Score: 0

User: Dormon

Problemset: ขนมของเซ้น143 (v.ง่าย)

Language: cpp

Time: 0.002 second

Submitted On: 2024-11-16 22:08:56

#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
#include <functional>

#define debug(...) Debug(#__VA_ARGS__, __VA_ARGS__)
using namespace std;

template<typename T>
typename std::enable_if<std::is_integral<T>::value>::type
Debug(const char* name, T value) {
    std::cout << name << " : " << value << '\n';
}

template<typename T, typename... Args>
typename std::enable_if<std::is_integral<T>::value>::type
Debug(const char* names, T value, Args... args) {
    const char* comma = strchr(names, ',');
    std::cout.write(names, comma - names) << " : " << value << " | ";
    Debug(comma + 1, args...);
}

void solve(){
    int n; cin >> n;

    auto sum = [&](int i) -> int64_t {
        return i*(i+1)/2;
    };

    int64_t all = sum(n), target = all/2;
    int64_t ans = all;
    int l = 0, r = n;
    while (l <= r){
        int mid = l + (r - l)/2;
        int64_t sum1 = sum(mid), sum2 = all - sum1;
        int64_t diff = abs(sum1 - sum2);
        ans = min(ans, diff);
        if (sum1 <= target) l = mid+1;
        else r = mid-1;
    }
    cout << ans << '\n';   
}

int main()
{
    ios_base::sync_with_stdio(0); cin.tie(0);
    int q = 1; 
    //cin >> q;
    while (q--){
        solve();
    }
}