Submission

Status:

[PP-SS][SSSSS][SSSSSSSSSS]

Subtask/Task Score:

{0/20}{0/30}{0/50}

Score: 0

User: mightbeputter

Problemset: ห้องสมุดเมือง 3M

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-27 15:09:20

#include<bits/stdc++.h>
using namespace std;
using ll = long long;

map<ll, int> mp;

int main(){
    int n;
    cin >> n;
    int k = 0;
    for(int i=1;i<=n;i++){
        int x,y;
        cin >> x >> y;
        mp[x]++;
        mp[y]--;
        k += y-x;
    }
    k/=2;
    int sum = 0, last = -1, i = 1;
    for(auto& x : mp){
        if(x.second == 0) continue;
        if(last != -1 && sum > 0) i += (x.first-last-1)*sum;
        if(i >= k){
            i -= (x.first-last-1)*sum;
            int d = max(1, sum);
            if(last == -1) last = x.first;
            cout << last + abs(k-i)/d;
            return 0;
        }
        sum += x.second;
        last = x.first;
    }
}