#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main() {
int n;cin>>n;
vector<pair<int,int>>v;
vector<pair<int,int>>a;
for(int i=0;i<n;i++){
pair<int,int>p;
cin>>p.first;
cin>>p.second;
v.push_back(p);
}
int l=v[0].second-v[0].first;
if(n==1){
cout<<l<<endl;
return 0;
}
sort(v.begin()+1,v.end());
int px=v[1].first;
int py=v[1].second;
for(int i=2;i<n;i++){
int x=v[i].first;
int y=v[i].second;
if(x>=py){
a.push_back(make_pair(px,py));
px=x;
py=y;
}
else{
if(y>=py) py=y;
}
}
//cout<<px<<" "<<py<<" "<<endl;
a.push_back(make_pair(px,py));
// cout<<a.size();
for(int i=0;i<a.size();i++){
int x=a[i].first;
int y=a[i].second;
// cout<<x<<" "<<y<<" "<<endl;
if(x>=v[0].second) continue;
else if(x<v[0].second && x>=v[0].first){
if(y<=v[0].second) l=l-(y-x);
else l=l-(v[0].second-x);
}
else if(x<=v[0].first && y>=v[0].second){
l=0;
continue;
}
else{
if(y<=v[0].first) continue;
else l=l-(y-v[0].first);
}
}
cout<<l<<endl;
return 0;
}
409. Longest Palindrome | 1574A - Regular Bracket Sequences |
1574B - Combinatorics Homework | 1567A - Domino Disaster |
1593A - Elections | 1607A - Linear Keyboard |
EQUALCOIN Equal Coins | XOREQN Xor Equation |
MAKEPAL Weird Palindrome Making | HILLSEQ Hill Sequence |
MAXBRIDGE Maximise the bridges | WLDRPL Wildcard Replacement |
1221. Split a String in Balanced Strings | 1002. Find Common Characters |
1602A - Two Subsequences | 1555A - PizzaForces |
1607B - Odd Grasshopper | 1084A - The Fair Nut and Elevator |
1440B - Sum of Medians | 1032A - Kitchen Utensils |
1501B - Napoleon Cake | 1584B - Coloring Rectangles |
1562B - Scenes From a Memory | 1521A - Nastia and Nearly Good Numbers |
208. Implement Trie | 1605B - Reverse Sort |
1607C - Minimum Extraction | 1604B - XOR Specia-LIS-t |
1606B - Update Files | 1598B - Groups |