记录编号 |
250661 |
评测结果 |
AATTTTTTTT |
题目名称 |
烤鸡翅 |
最终得分 |
20 |
用户昵称 |
FETS 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;
//暴力出奇迹!
}