★ 제목 설명
N 간격은 엔드 포인트가 i 번째의 구간 및 리 RI, 즉, i 번째의 구간에 따르면이다있다 [리튬, RI]
간격의 최소 번호가 범위를 모두 포함되어 있습니다. 본 출력 간격 번호 달리 출력 값이 "-1."
그것은 다른 간격 [C, D]를 포함하는 구간 [A, B]를 가정하면, 포함하는 부분을 말한다 요구는 <= C <= D <= B를 만족한다.
★ 입력 형식
첫번째 라인 간격의 정수를 나타내고, N, N <= 100000
다음 N 개의 라인 정수 리튬, ri 나타내고, 제 i 번째의 구간 끝점 1 <= 리 <= RI <= 1,000,000,000
데이터, N <= 100 (1)의 30 % <= 리 <= RI <= 100
데이터의 80 %, N <= 1000, 1 <= 리 <= RI <= 1000
데이터, N <= 100,000, 1 내지 100 % <= 리 <= RI <= 1,000,000,000
★ 출력 형식
정수는 숫자 범위의 요구 사항을 충족. 출력이 경우 -1.
★ 샘플 입력
3
1 1
2 2
3 3
★ 샘플 출력
-1
/*
直切要点:
如果存在一个区间包含所有其他区间
那么该区间的长度一定最大
*/
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int l,r,minL,maxR;
scanf("%d%d",&minL,&maxR);
int resL=minL,resR=maxR, resid=1; //如果是答案区间,那么该区间长度一定最大
for(int i=2; i<=n; ++i){
scanf("%d%d",&l,&r);
minL = min(l,minL);
maxR = max(r,maxR);
if(resR-resL<r-l) resL=l,resR=r,resid=i;
}
if(resL==minL && resR==maxR) printf("%d\n",resid);
else printf("-1\n");
return 0;
}