poj 2437

贪心水题。

代码:

#include<iostream>
#include<fstream>

using namespace std;

long long n,L;

struct e{
	long long s,t;
};

e a[10001];

int cmp(const void *a,const void *b){
	return (*(e *)a).s-(*(e *)b).s;
}


void read(){
//	ifstream cin("in.txt");
	long long i,j,k;
	cin>>n>>L;
	for(i=0;i<n;i++)
	{
		cin>>a[i].s>>a[i].t;
		a[i].s++;
	}
	qsort(a,n,sizeof(e),cmp);
	long long ans=0;
	i=0;j=0;
	while(j<n){
		if(i>=a[j].t) j++;
		else
		{
			if(i<a[j].s) i=a[j].s-1;
			long long t=(a[j].t-i)/L;
			if(t*L!=a[j].t-i) t++;
			i+=L*t;
			ans+=t;
			j++;
		}
	}
	cout<<ans<<endl;
}

int main(){
	read();
	return 0;
}

posted on 2011-04-24 18:04  宇宙吾心  阅读(236)  评论(0)    收藏  举报

导航