1 条题解

  • 1
    @ 2025-7-29 10:20:49
    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    const int N=2e4+10;
    int n;
    int b[N],a[N];
    int x[N<<1],ans;
    bool v[N<<1];
    signed main(){
    	cin>>n;
    	for(int i=1;i<=n;i++){
    		cin>>a[i]>>b[i];
    		x[i]=a[i];
    		x[i+n]=b[i];
    	}
    	sort(x+1,x+2*n+1);
    	for(int i=1;i<=n;i++){
    		int start=lower_bound(x+1,x+2*n+1,a[i])-x;
    		int end=lower_bound(x+1,x+2*n+1,b[i])-x;
    		for(int j=start;j<end;j++){
    		v[j]=1;
    		}
    	}
    	for(int i=1;i<2*n;i++)
    	if(v[i])
    	ans+=x[i+1]-x[i];
    	cout<<ans; 
    	return 0;
    }
    //龙卷风
    
    

    信息

    ID
    3216
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    79
    已通过
    32
    上传者