Submission
Status:
[PP-SS][SSSSS][SSSSSSSSSS]
Score: 0
User: Nathlol2
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2025-03-10 12:42:06
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int n;
cin >> n;
vector<pair<int, int>> v;
for (int i = 0; i < n; i++) {
int a, b;
cin >> a >> b;
v.push_back({a, b});
}
sort(v.begin(), v.end());
vector<pair<int, int>> merged;
merged.push_back(v[0]);
for (int i = 1; i < n; i++) {
auto [a, b] = v[i];
auto &[last_a, last_b] = merged.back();
if (a <= last_b) {
last_b = max(last_b, b);
} else {
merged.push_back({a, b});
}
}
int total_length = 0;
for (auto &[a, b] : merged) {
total_length += (b - a);
}
int half_length = total_length / 2;
int current_length = 0;
for (auto &[a, b] : merged) {
if (current_length + (b - a) >= half_length) {
int pos = a + (half_length - current_length);
cout << pos - 1 << '\n';
return 0;
}
current_length += (b - a);
}
}