WA了1个求调
  • 板块P1496 火烧赤壁
  • 楼主WsW_花逝爆零人
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/30 22:24
  • 上次更新2024/7/31 08:30:51
查看原帖
WA了1个求调
349824
WsW_花逝爆零人楼主2024/7/30 22:24
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int n;
int a[20003],b[20003];
bool f[20003];
vector<int>v;
ll ans;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i]>>b[i];
		v.push_back(a[i]);
		v.push_back(b[i]);
	}
	sort(v.begin(),v.end());
	v.erase(unique(v.begin(),v.end()),v.end());
	for(int i=1;i<=n;i++){
		int l=lower_bound(v.begin(),v.end(),a[i])-v.begin();
		int r=lower_bound(v.begin(),v.end(),b[i])-v.begin();
		for(int j=l;j<r;j++)f[j]=1;
	}
	for(int i=0;i<v.size()-1;i++)
		if(f[i])ans+=v[i+1]-v[i];
	cout<<ans;
	return 0;
}
2024/7/30 22:24
加载中...