Submission

Status:
[PP-SS][SSSSS][SSSSSSSSSS]

Score: 0

User: yumiKuri

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-23 10:28:34

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

vector<pair<int,int>> event;

int main(){
    ios_base::sync_with_stdio(0), cin.tie(0);

    int n;
    cin >> n;
    event.resize(n);

    int mn = INT_MAX, mx = 0;
    int sum = 0;

    for(int i = 0; i < n; i++){
        int a, b;
        cin >> a >> b;
        event.push_back({a,1});
        event.push_back({b,-1});
        mx = max(mx, b);
        mn = min(mn, a);
        sum += b-a;
    }

    sort(event.begin(), event.end());

    int median = sum/2;
    int increase = 0;
    int index = mn;
    int i = 0;

    while(true){
        int current = event[i].first;

        while(current == event[i].first){
            int value = event[i].second;
            increase += value;
            i++;
        }

        while(current < event[i].first){
            median -= increase;
            if(median <= 0){
                cout << current;
                return 0;
            }
            current++;
        }
    }
}