请帮我看一下什么地方错了?
#include<bits/stdc++.h>
using namespace std;
int n;
int ans;
struct node{
int l,r;
}a[20005];
bool cmp(node x,node y){
return x.l<y.l;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].l>>a[i].r;
a[i].r--;
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++){
ans+=a[i].r-a[i].l+1;
}
for(int i=1;i<n;i++){
if(a[i+1].l<=a[i].r){
ans-=a[i].r-a[i+1].l+1;
}
}
cout<<ans;
}