纯模拟,玄关,求条
查看原帖
纯模拟,玄关,求条
1278637
maple_mustard楼主2024/12/14 20:27
#include <bits/stdc++.h>
using namespace std;
int n;
long long sum=0;
struct node{
    int start;
    int end;
}a[40005];
bool cmp(node x,node y){
    return x.start<y.start;
}
int main()
{
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a[i].start>>a[i].end;
        a[i].end-=1;
    }
    sort(a,a+n,cmp);
    sum+=a[0].end-a[0].start+1;
    int st=a[0].start;
    int en=a[0].end;
    for(int i=2;i<n;i++){
        if(a[i+1].start<=en){
            if(a[i].start>=st&&a[i].end<=en){
                continue;
            }
            sum+=(a[i].end-en);
            en=a[i].end;
        }else{
            sum+=a[i].end-a[i].start+1;
            st=a[i].start;
            en=a[i].end;
        }
    }
    cout<<sum;
    return 0;
}
2024/12/14 20:27
加载中...