#include <bits/stdc++.h>
using namespace std;
struct pep{
int y;
int r;//result
};
bool cmp(struct pep a,struct pep b)
{
return a.y < b.y;
}
const int N=1e5+1;
set<int>st;
int main(){
int n;
cin>>n;
pep pep[N];
for(int i=1;i<=n;i++){
cin>>pep[i].y;
cin>>pep[i].r;
}
int max=0;
int res=0;
sort(pep+1,pep+n+1,cmp);
int sum[n]={0};
for(int i=1;i<n;i++){
sum[i]+=sum[i-1]+pep[i].r;
}
for(int i=1;i<=n;i++){
int a=pep[i].y;
if(st.count(a)) continue;
st.insert(a);
int yc1=sum[n]-sum[i-1];
int yc2=i-1-sum[i-1];
if(yc1+yc2>=max){
max=yc1+yc2;
res=a;
}
}
cout<<res;
return 0;
}
备注:可以手动模拟一下,发现两个相同的yi取第一个计算就行