记录编号 250661 评测结果 AATTTTTTTT
题目名称 烤鸡翅 最终得分 20
用户昵称 GravatarFETS 1/3 是否通过 未通过
代码语言 C++ 运行时间 8.001 s
提交时间 2016-04-15 16:55:11 内存使用 2.00 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
#include<ctime>
using namespace std;
const int inf=0x7fffffff;
const int maxn=250050;
int n;
int x[maxn];
int y[maxn];
int ans=-1;
void dfs(int day,int sx,int gk)
{
	if(clock()>950)
	{
		ans=max(ans,gk);
		printf("%d",ans);
	}
	if(gk+n-day+1<ans)
	{
		return;
	}
	if(day==n+1)
	{
		ans=max(gk,ans);
		return;
	}
	if(sx>y[day])
	{
		dfs(day+1,sx+day[x+1]-y[day],gk+1);
	}
	dfs(day+1,sx+day[x+1],gk);
}
int main()
{
	freopen("wing.in","r",stdin);
	freopen("wing.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&x[i]);
	}
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&y[i]);
	}
	int sx=0,gk=0;
	for(int i=1;i<=n;i++)
	{
		sx+=x[i];
		if(sx>y[i])
		{
			sx-=y[i];
			gk++;
		}
	}
	ans=gk;
	dfs(1,x[1],0);
	printf("%d",ans);
	return 0;
	//暴力出奇迹!
}