Codeforces 1262A Math Problem

思路:

寻找right最的最小值和left的最大值做差即可

代码:

#define IOS ios::sync_with_stdio(false);cin.tie(0)
#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> P;
typedef long long LL;
#define fi first
#define sc second
#define mp(a,b) make_pair(a,b)
#define pb(a) push_back(a)
#define rp(i,n) for(int i=0;i<n;i++)
#define rpn(i,n) for(int i=1;i<=n;i++)
const int INF=1e9+99;
int main(){
	IOS;
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		int l=INF,r=0;
		rp(i,n){
			int a,b;
			cin>>a>>b;
			l=min(l,b);
			r=max(a,r);
		}
		if(r-l<=0) cout<<0<<endl;
		else cout<<r-l<<endl;
	}
	return 0;
}
原文地址:https://www.cnblogs.com/yuhan-blog/p/12308823.html