Submission

Status:

[PP-SS][SSSSS][SSSSSSSSSS]

Subtask/Task Score:

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

Score: 0

User: navysrimuang

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

Language: cpp

Time: 0.002 second

Submitted On: 2026-03-18 11:07:49

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
const  ll MX = 2e7;

vector<pair<ll,ll>> range;

ll cnt(ll m){
	ll sum = 0;
	for(auto [x,y] : range){
		if(m < x) continue;	
		if(m >= y-1){
			sum += y-x;
		}else if(m >= x && m < y){
			sum += (m-x+1);
		}
	}
	return sum;

}

int main(){
	cin.tie(0)->sync_with_stdio(0);
	int n; cin >> n;
	range.resize(n);
	ll K = 0;
	for(int i = 0;i<n;i++){
		cin >> range[i].first >> range[i].second;
		K += (range[i].second - range[i].first);
	}
	ll l = 0,r = MX;
	while(l<=r){

		ll mid = l + (r-l)/2;
		if(cnt(mid) >= (K/2)){
			r = mid-1;
		}else{
			l = mid+1;
		}

	}
	cout << l << "\n";
	return 0;
}