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;
}