Submission

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

Score: 0

User: fluke

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-14 21:06:51

#include <bits/stdc++.h>
#define ll long long 
#define f first 
#define s second 
#define pii pair<int,int>
#define piii tuple <int,int,int> 
#define emb emplace_back
#define em emplace 
#define all(x) x.begin(),x.end()
#define sp <<" "<<
#define DB cout<<"\n";system("pause");
using namespace std;

ll inf = 2e18;
int mod = 1e9+7;

int di[] = {0,1,0,-1};
int dj[] = {1,0,-1,0};


int main(){
//ios::sync_with_stdio(false);cin.tie(0);
    int n;
    cin>>n;

    vector <pii> line;
    int sum = 0;
    for(int i=0;i<n;i++){
        int x,y;
        cin>>x>>y;
        line.emb(x,1);
        line.emb(y,-1);
        sum += y-x;
    }

    sort(all(line));

    int book = 0 ;
    int size = 0;
    int before = 0;
    int now = 0;
    int index_mean = sum/2;

    for(int i=0;i<n*2;i++){
        now = line[i].f;
        book += size * (now - before);
        // cout<<book;
        // DB
        
        if(book >= index_mean){

            if(book == index_mean){
                cout<<now -1 ;
                return 0;
            }
        
            int last_book = book - size * (now - before);
            
            // while(book_now >= index_mean){
            //     book_now -= size;
            //     num_now -- ;
            // }

            int diff = book - index_mean;
            cout<<now - 1 - diff/size;
            return 0;
        }

        before = now;
        size += line[i].s;

    }

}