Submission

Status:

[PPPPP][PPPPP][PPPPPPPPPP]

Subtask/Task Score:

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

Score: 100

User: mzmvtbgf

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

Language: cpp

Time: 0.005 second

Submitted On: 2026-03-11 15:43:49

#include <bits/stdc++.h>
using namespace std;
int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;
struct qq
{
    int num;
    int val;
    bool operator<(const qq &comp) const
    {
        return num > comp.num;
    }
};
priority_queue<qq> pq;
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cin >> n;
    c = 0;
    for (int i = 0 ; i < n ; i++)
    {
        cin >> a >> b;
        c += b - a;
        pq.push({a, 1});
        pq.push({b, -1});
    }
    if (c==1) {cout << pq.top().num;return 0;}
    m = c/2;
    int ct = 0;
    int prev = 0;
    int tua = 0;
    while(ct <= m)
    {
        qq now = pq.top();
        pq.pop();
        ct += (now.num - prev)*tua;
        prev = now.num;
        if (ct > m) break;
        tua += now.val;
    }
    while (ct >= m)
    {
        prev--;
        ct -= tua;
    }
    cout << prev;
    return 0;
}