爆0求助
查看原帖
爆0求助
922644
liumuxian楼主2024/9/14 22:41
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e4+10;
struct node{
    int l,r;
}a[N],p[N];
int ans;
bool cmp(node x,node y){
    return x.l<y.l;
}
signed main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++) cin>>a[i].l>>a[i].r;
    sort(a+1,a+n+1,cmp);
    int j=1;
    p[j].l=a[1].l;
    p[j].r=a[1].r;
    for(int i=2;i<=n;i++){
        if(a[i].l<=a[j].r){
            p[j].r=max(p[j].r,a[i].r);
        }
        else{
            ++j;
            p[j].l=a[i].l;
            p[j].r=a[i].r;
        }
    }
    
    for(int i=1;i<=j;i++) ans+=(p[i].r-p[i].l+1);
    cout<<ans<<endl;
    return 0;
}
2024/9/14 22:41
加载中...