记录编号 134698 评测结果 AAAAAAAAAA
题目名称 [USACO Mar07] 平衡的阵容 最终得分 100
用户昵称 Gravatar · 是否通过 通过
代码语言 C++ 运行时间 0.047 s
提交时间 2014-10-30 18:03:49 内存使用 1.08 MiB
显示代码纯文本
/*
	贪心
*/

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int pre[100010];
struct jiegouti{
	int i;
	int qz;
	bool operator <(const jiegouti &b)const{
		return i<b.i;
	}
};
struct jiegouti a[50001];
int n;
int ans;
int main()
{
	freopen("balance.in","r",stdin);
	freopen("balance.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		int x;
		scanf("%d%d",&x,&a[i].i);
		if(x==0)
		x=-1;
		a[i].qz=x;
	}
	sort(a+1,a+1+n);
	int sum=50001;
	for(int i=1;i<=n;i++)
	{
		if(pre[sum]==0)
		pre[sum]=a[i].i;
		else
		if(ans<a[i-1].i-pre[sum])
		ans=a[i-1].i-pre[sum];
		if(a[i].qz==-1)
		sum--;
		else
		sum++;
	}
	printf("%d",ans);
	//fclose(stdin);
	//fclose(stdout);
	return 0;
}