help USACO 1.2
查看原帖
help USACO 1.2
289056
北射天狼楼主2022/3/9 18:25
#include <bits/stdc++.h>
using namespace std;
struct cc{
	int l;
	int r;
}e[100001];
int ans,maxn=-1;
bool cmp(cc x,cc y){
	if (x.l==y.l)
	    return x.r<y.r;
	return x.l<y.l;
}
int main()
{
	int n;
	cin>>n;
	for (int i=1;i<=n;i++){
		cin>>e[i].l>>e[i].r;
	}
	sort(e+1,e+n+1,cmp);
	int cnt=2;
	int i=e[1].l,j=e[1].r;
	while (cnt<=n){
		if (e[cnt-1].r>e[cnt].l)    j=e[cnt].r;
		else {
		    ans+=j-i;
		    i=e[cnt+1].l;
		    j=e[cnt+1].r;
		    maxn=max(maxn,e[cnt].l-e[cnt-1].r);
		}
		cnt++;
	}
	cout<<ans<<" "<<maxn<<endl;
	return 0;
}
2022/3/9 18:25
加载中...