Submission

Status:

[PPPP-][SSSSS][SSSSSSSSSS]

Subtask/Task Score:

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

Score: 0

User: Pung

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

Language: cpp

Time: 0.003 second

Submitted On: 2026-03-09 19:50:56

#include <bits/stdc++.h>
using namespace std;

int main() 
{
  cin.tie(0)->sync_with_stdio(0);
  
  int n;
  cin >> n;
  vector<pair<int,int>> v;
  
  int k = 0;
  int minn = 20000001;
  int maxx = -1;
  
  for(int i = 0; i < n; i++){
    int a,b;
    cin >> a >> b;
    k+=(b-a);
    minn = min(minn, a);
    maxx = max(maxx,b-1);
    
    v.push_back({a,b-1});
  }
  int t = k/2;
  int l = minn;
  int r = maxx;
  int ans = 0;
  

  
  
  while(l <= r){
    

    
    int mid = (r+l)/2;
  
    int count = 0;
    
    for(auto i : v){
      if(mid > i.first){
        count+=min(mid+1,i.second+1)-i.first;
      }
      
    }
    
    if(count >= t){
      

      ans = mid;
      
      r = mid-1;
    }
    else{
      l = mid+1;
    }
  }
  
  cout << ans;
  
  
  
  
  
  
  
}