abc 377 D
作者:
Air1222
,
2024-10-30 20:58:48
,
所有人可见
,
阅读 3
//寻找l大于i距离i最近的点r
#include <iostream>
#include <algorithm>
#include <queue>
#define l first
#define r second
using namespace std;
const int N = 2e5+10;
typedef pair<int,int>PII;
PII p[N];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>p[i].l>>p[i].r;
sort(p+1,p+1+n);
priority_queue<int,vector<int>,greater<int>>q;
long long ans=0;
q.push(m+1);
for(int i=m,j=n;i>=1;i--)
{
while(j>=1&&p[j].l>=i)
{
q.push(p[j].r);
j--;
}
ans+=q.top()-i;
}
cout<<ans;
return 0;
}