代码如下:
#include<iostream>
#include<algorithm>
using namespace std;
struct non{
int d;
int m;
} a[300005];
int cmp(non a,non b){
if(a.d<b.d)
return 1;
return 0;
}
int ff(int ma){
if(ma>=0)
return ma;
return 0;
}
int main()
{
int n,k;
cin>>n>>k;
for(int i=1; i<=n; i++)
cin>>a[i].d>>a[i].m;
sort(a+1,a+1+n,cmp);
int sum=0;
for(int i=1; i<=n; i++){
if(a[i].m-k<=0)
sum+=k;
else if(a[i+1].d!=a[i].d)
sum+=ff(k*2-a[i].m);
else sum+=k;
cout<<sum;
}
cout<<sum;
return 0;
}