记录编号 27083 评测结果 AAAAAAAAAAAA
题目名称 最后的利益 最终得分 100
用户昵称 GravatarPom 是否通过 通过
代码语言 C++ 运行时间 0.883 s
提交时间 2011-08-01 16:21:19 内存使用 0.40 MiB
显示代码纯文本
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>

using namespace std;

const int MAXN=11111;

struct line
{
	int x,y;
}a[MAXN];

int n,i,j,k,f[MAXN],ans;

inline int cmp(const void *p,const void *q)
{
	return ((line *)p)->y-((line *)q)->y;
}

int main()
{
	freopen("9cwy.in","r",stdin);
	freopen("9cwy.out","w",stdout);
	scanf("%d",&n);
	for (i=1;i<=n;i++)
		scanf("%d%d",&a[i].x,&a[i].y);
	qsort(a+1,n,sizeof(line),cmp);
	f[0]=0;
	ans=-1;
	for (i=1;i<=n;i++)
	{
		f[i]=a[i].y-a[i].x;
		for (j=1;j<i;j++)
			if (a[j].y<=a[i].x) f[i]=max(f[i],f[j]+a[i].y-a[i].x);
			else break;
		if (f[i]>ans) ans=f[i];
	}
	printf("%d\n",ans);
	return 0;
}