Submission

Status:
[P-SSS][SSSSS][SSSSSSSSSS]

Score: 0

User: Punnawith

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

Language: cpp

Time: 0.002 second

Submitted On: 2025-03-23 07:19:23

#include <iostream> 
#include <vector>

using namespace std;

int main() {
    int N;
    cin >> N;

    int totalCount = 0;
    vector<pair<int, int>> pos(N, {0, 0});
    for(int i = 0; i < N; i++) {
        cin >> pos[i].first >> pos[i].second;
        totalCount += pos[i].second - pos[i].first;
    }
    
    int median = -1;
    int cnt = 0;
    int medianPos = (totalCount + 1) / 2;

    for (int i = 0; i < N; i++) {
        int nRange = pos[i].second - pos[i].first + 1;
        if (cnt + nRange >= medianPos) { 
            int offset = medianPos - cnt - 1;
            cout << pos[i].first + offset;
            return 0;
        }
        cnt += nRange;
    }

    cout << median;
    return 0;
}