离散化50分求助,悬赏关注,谢谢
  • 板块P1496 火烧赤壁
  • 楼主lcbridgeAK CSP-S
  • 当前回复6
  • 已保存回复6
  • 发布时间2023/1/24 17:08
  • 上次更新2023/10/24 03:11:33
查看原帖
离散化50分求助,悬赏关注,谢谢
546681
lcbridgeAK CSP-S楼主2023/1/24 17:08

RT,样例未过,样例输出的8,但有50分

#include <bits/stdc++.h>
using namespace std;
int n,a[20005],b[20005],l[20005],cnt;
bool f[20005];
long long ans;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d%d",&a[i],&b[i]);
		l[++cnt]=a[i];
		l[++cnt]=b[i];
	}
	sort(l+1,l+n+1);
	int cnt1=unique(l+1,l+n+1)-l;
	for(int i=1;i<=n;i++){
		int x=lower_bound(l+1,l+cnt1+1,a[i])-l;
		int y=lower_bound(l+1,l+cnt1+1,b[i])-l;
		for(int j=x;j<y;j++)f[j]=1;
	}
	for(int i=1;i<cnt1;i++)if(f[i])ans+=l[i+1]-l[i];
	printf("%lld",ans);
	return 0;
} 
2023/1/24 17:08
加载中...