差分就可以解决
//at color
#include <iostream>
#include <climits>
using namespace std;
const int N = 1e8 + 1;
int a[N] = {0};
int sub[N] = {0};
int main() {
int n;
cin >> n;
for(int i = 1;i<=1000000;i++) {
sub[i] = a[i] - a[i - 1];
}
while(n--){
int l,r;
cin >> l >> r;
sub[l] += 1;
sub[r + 1] -= 1;
}
int maxNum = INT_MIN;
for(int i = 0;i<1000001;i++) {
a[i] = sub[i] + a[i - 1];
if(a[i] > maxNum){
maxNum = a[i];
}
}
cout << maxNum << endl;
}