记录编号 8622 评测结果 AAAAAAAAAA
题目名称 [POI 1997] 阶梯教室设备利用 最终得分 100
用户昵称 GravatarBYVoid 是否通过 通过
代码语言 C++ 运行时间 1.607 s
提交时间 2008-11-28 19:05:59 内存使用 0.37 MiB
显示代码纯文本
#include <iostream>
#include <stdlib.h>

using namespace std;

const int MAX=10001;

struct segment
{
	int l,r;
};

segment S[MAX];
int N,Ans;
int F[MAX];

int cmp(const void *a,const void *b)
{
	return ((segment *)a)->r - ((segment *)b)->r;
}

void init()
{
	int i;
	freopen("rez.in","r",stdin);
	freopen("rez.out","w",stdout);
	scanf("%d",&N);
	for (i=1;i<=N;i++)
	{
		scanf("%d%d",&S[i].l,&S[i].r);
	}
	qsort(S+1,N,sizeof(S[0]),cmp);
}

void dynamic()
{
	int i,j;
	for (i=1;i<=N;i++)
	{
		for (j=N-1;j>=1;j--)
		{
			if (S[j].r<=S[i].l)
			{
				if (F[j]>F[i])
				{
					F[i]=F[j];
				}
			}
		}
		F[i] += S[i].r - S[i].l;
		if (F[i]>Ans)
			Ans=F[i];
	}
}

int main()
{
	init();
	dynamic();
	cout << Ans;
	return 0;
}