比赛 |
20160415 |
评测结果 |
WWWWWWWWWW |
题目名称 |
烤鸡翅 |
最终得分 |
0 |
用户昵称 |
sro_lzh_mzx_dydx |
运行时间 |
0.283 s |
代码语言 |
C++ |
内存使用 |
4.13 MiB |
提交时间 |
2016-04-15 11:23:50 |
显示代码纯文本
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#include<cmath>
#define ll long long
using namespace std;
inline ll read(){
ll x=0,f=1;char ch=getchar();
while(ch>'9'||ch<'0'){if(ch=='-')f=-1;ch=getchar();}
while(ch<='9'&&ch>='0'){x=(x<<3)+(x<<1)+ch-'0';ch=getchar();}
return x*f;
}
ll n,a[250010],b[250010];
void init(){
freopen("wing.in","r",stdin);
freopen("wing.out","w",stdout);
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
n=read();
for(int i=1;i<=n;i++)a[i]=read();
for(int i=1;i<=n;i++)b[i]=read();
}
bool check(int x){
int ans=0,ww=0;
for(int i=1;i<=n;i++){
ww+=a[i];
if(ww>=b[i]){
ans++;
ww-=b[i];
}
}
if(ans>=x)return 1;
else return 0;
}
int main(){
init();
int l=0,r=250010;
while(l+1<r){
int mid=l+(r-l>>1);
if(check(mid))l=mid;
else r=mid;
}
if(check(l))printf("%d",l);
else printf("%d",r);
return 0;
}