题目描述
暴雨过后,FJ的农场到镇上的公路上有一些泥泞路,他有若干块长度为L的木板可以铺在这些泥泞路上,问他至少需要多少块木板,才能把所有的泥泞路覆盖住。
输入输出格式
输入格式:
第一行为正整数n(≤10000)和L(≤10000),分别表示有多少段泥泞路和木板的长度;接下来n行,每一行两个整数s和e(s≤e≤10^9),表示每一段泥泞路的起点和终点。
输出格式:
仅一个正整数,表示木板数。
输入输出样例
输入样例#1: 复制
3 3
1 6
13 17
8 12
输出样例#1: 复制
5
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,l,h,d; int s[10005],e[10005]; int main(){ cin>>n>>l; for(int i=1;i<=n;i++) cin>>s[i]>>e[i]; sort(s+1,s+1+n); sort(e+1,e+1+n); d=s[1]; for(int i=1;i<=n;i++){ while(d<e[i]){ d+=l; h++; } d=max(d,s[i+1]); } cout<<h; }