样例过了,但是0分
#include<bits/stdc++.h>
using namespace std;
struct node{
long long bg,ed;
}a[20010];
bool cmp(node a,node b){
if(a.bg<b.bg||(a.bg==b.bg&&a.ed<b.ed))return true;
return false;
}
int main(){
long long n;
cin>>n;
long long sum=0;
for(long long i=1;i<=n;i++)cin>>a[i].bg>>a[i].ed;
sort(a+1,a+n+1,cmp);
int m=1;
for(long long i=m+1;i<=n;i++){
if(a[i-1].ed>=a[i].bg){
a[i].bg=a[i-1].ed-1;
}
}//去重
for(int i=1;i<=n;i++){
if(a[i].ed>=1&&a[i].bg<=0){
m=i;
break;
}
}
int q=1;
for(int i=a[m].bg;i<=a[m].ed;i++){
if(i==1){
a[m].bg=q;
break;
}
q++;
}
for(int i=m;i<=n;i++){
sum+=a[i].ed-a[i].bg+1;
}
cout<<sum;
return 0;
}