Submission

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

Score: 0

User: yumiKuri

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-22 21:59:20

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

vector<int> start, stop;

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

    int n;
    cin >> n;
    start.resize(n);
    stop.resize(n);

    int mn = INT_MAX;
    int sum = 0;

    for(int i = 0; i < n; i++){
        cin >> start[i];
        cin >> stop[i];
        mn = min(mn, start[i]);
        sum += stop[i] - start[i];
    }

    sort(start.begin(), start.end());
    sort(stop.begin(), stop.end());

    int k = sum/2;
    int i = 0, j = 0;
    int current = 0;
    int index = mn;
    sum = 0;

    while(sum < k){
        if(index == start[i]){
            while(start[i] == start[i+1]){
                current++;
                i++;
            }
            current++;
            i++;
        }
        if(index == stop[j]){
            while(stop[j] == stop[j+1]){
                current--;
                j++;
            }
            current--;
            j++;
        }
        sum += current;
        index++;
    }


    cout << index-1;
}