30分 。。。
查看原帖
30分 。。。
597615
isspace楼主2022/2/17 15:43
#include <iostream>
#include<stdio.h> 
#include<vector>
#include<algorithm>
#include<utility> 

using namespace std;
struct p{
	int l;
	int r;
};
bool cmp(struct p a,struct p b)
{
	return a.l<b.l;
}
int main()
{
	int n;
	cin>>n;
	struct p a[20000];
	for(int i=0;i<n;i++)
	{
		cin>>a[i].l;
		cin>>a[i].r;
	}
	int j=1;
	int ar=a[0].r;
	int al=a[0].l;
	int m=0;
	struct p b[20000];
	sort(a,a+n,cmp);
	
	while(j<n)
	{
		if(a[j].l<=a[j-1].r )
		{
			if(a[j].r>=a[j-1].r)
			{
				ar=a[j].r;
			}
				
				j++;
		}
	
		else{
			b[m].l=al;
			b[m].r=ar;  
			
			m++;
			
			al=a[j].l;
			ar=a[j].r;
			j++;
		}
	
	}
		int sum=0;
	for(int i=0;i<m;i++)
	sum+=b[i].r-b[i].l;
 sum+=ar-al;
 cout<<sum;
  	return 0;
}
2022/2/17 15:43
加载中...