37分!!!3,4,6,7,8
查看原帖
37分!!!3,4,6,7,8
397727
cs_xy楼主2021/4/6 19:23
#include<bits/stdc++.h>
using namespace std;
int n;
struct node{
	int l,r,z;
}a[5010];
bool cmp(node a,node b){
	if(a.l==b.l) return a.r<b.r;
		return a.l<b.l;
}
int main() {
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i].l>>a[i].r;
		a[i].z=a[i].r-a[i].l;
	}
	sort(a+1,a+1+n,cmp);
	int cnt=0,h=0,ans=a[1].z;
	for(int i=1;i<=n;i++){
		if(a[i].r<=a[i+1].l) ans+=a[i+1].z;
		cnt=max(a[i+1].l-a[i].r,h);
		h=cnt;
	}
	cout<<ans<<" "<<cnt;
	return 0;
}
2021/4/6 19:23
加载中...