#include<bits/stdc++.h>
#define int long long
using namespace std;
struct plank{
	int s,e;
}a[10010];
bool cmp(plank x,plank y){
	return x.s<y.s||x.s==y.s&&x.e<y.e;
}
signed main(){
	int n,l;
	cin>>n>>l;
	for(int i=1;i<=n;i++){
		cin>>a[i].s>>a[i].e;
	}
	sort(a+1,a+n+1,cmp);
	int pos=0,cnt=0;
    for(int i=1;i<=n;i++){
		if(pos>=a[i].e){
			continue;
		}
		a[i].s=max(a[i].s,pos);
		int k=(a[i].e-a[i].s+l-1)/l;
		cnt+=k; 
		pos=a[i].s+k*l;
	}
	cout<<cnt;
	return 0;
}


铺木板(plank)

0 条评论

目前还没有评论...

信息

ID
116
时间
1000ms
内存
256MiB
难度
8
标签
递交数
56
已通过
9
上传者