Submission
Status:
[P-SSS][SSSSS][SSSSSSSSSS]
Subtask/Task Score:
{0/20}{0/30}{0/50}
Score: 0
User: mightbeputter
Problemset: ห้องสมุดเมือง 3M
Language: cpp
Time: 0.002 second
Submitted On: 2026-03-27 15:25:56
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
map<ll, int> mp;
int main(){
int n;
cin >> n;
int k = 0;
for(int i=1;i<=n;i++){
int x,y;
cin >> x >> y;
mp[x]++;
mp[y]--;
k += y-x;
}
k/=2;
int sum = 0, last = -1, i = 1;
for(auto& x : mp){
if(x.second == 0) continue;
if(last != -1 && sum > 0) i += (x.first-last)*sum-1;
if(i >= k){
if(last == -1) last = x.first;
i -= (x.first-last)*sum-1;
int d = max(1, sum);
cout << last + abs(k/d-i);
return 0;
}
sum += x.second;
last = x.first;
}
}