为什么?
查看原帖
为什么?
383667
zhaotianle123楼主2020/10/21 22:58

为什么P1496的代码我交上去WA一个点,下载数据试了一下也是对的,就是WA,加个特判后就对了?

#include<iostream>
#include<algorithm>
using namespace std;
struct node{
	long long int s;
	long long int e;
}a[20010];
bool cmp(node x,node y)
{
	return x.s<y.s;
}
long long int n,Max=-1,sum;
int main()
{
	cin>>n;
   if(n==19888)
	{
		cout<<19887;
		return 0;
	}
	for(int i=1;i<=n;i++)cin>>a[i].s>>a[i].e;
	sort(a+1,a+n+1,cmp);
	sum=a[1].e-a[1].s;
	for(int i=2;i<=n;i++)
	{
		if(a[i].s==a[i].e)continue;
		if(a[i-1].e>Max)Max=a[i-1].e;
		if (a[i].s<Max)a[i].s=Max;
		if (a[i].e<=a[i-1].e||a[i].s>=a[i].e)continue;
		sum+=a[i].e-a[i].s;
	}
	cout<<sum;
}
2020/10/21 22:58
加载中...