社区讨论

80pts 求条

P1496火烧赤壁参与者 3已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mkdzjw24
此快照首次捕获于
2026/01/14 20:17
上个月
此快照最后确认于
2026/01/17 21:15
上个月
查看原帖
rt,照着深进上的代码写了一遍,交后RE了,看情况玄关
CPP
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=20005;
int n,a[N],b[N],f[N*2],dtop,ctop,d[N*2],c[N*2],ans;
signed main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i]>>b[i];
		d[++dtop]=a[i];
		d[++dtop]=b[i];
	}
	sort(d+1,d+dtop+1);
	for(int i=1;i<=dtop;i++)
	{
		if(d[i]!=a[i-1]||i==1) c[++ctop]=d[i];
	}
	for(int i=1;i<=n;i++)
	{
		int x=lower_bound(c+1,c+ctop+1,a[i])-c;
		int y=lower_bound(c+1,c+ctop+1,b[i])-c;
		for(int j=x;j<y;j++)
		{
			f[j]=1;
		}
	}
	for(int i=1;i<ctop;i++)
	{
		if(f[i]) ans+=c[i+1]-c[i];
	} 
	cout<<ans;
	return 0;
}


回复

3 条回复,欢迎继续交流。

正在加载回复...