记录编号 |
250693 |
评测结果 |
AWWWWWWWWW |
题目名称 |
烤鸡翅 |
最终得分 |
10 |
用户昵称 |
_Horizon |
是否通过 |
未通过 |
代码语言 |
C++ |
运行时间 |
0.278 s |
提交时间 |
2016-04-15 17:46:20 |
内存使用 |
4.89 MiB |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 300000
using namespace std;
int n;
int a[maxn], b[maxn], sum[maxn];
int dp[maxn];
int main(){
freopen("wing.in", "r", stdin);
freopen("wing.out", "w", stdout);
scanf("%d", &n);
for(int i = 1; i <= n; i ++) scanf("%d", &a[i]), sum[i] = sum[i-1] + a[i];
for(int i = 1; i <= n; i ++) scanf("%d", &b[i]);
int ans = 0;
for(int i = 1; i <= n; i ++){
int pos = lower_bound(sum + 1, sum + 1 + n, sum[i] - b[i]) - sum;
dp[i] = max(dp[i - 1], dp[pos] + 1);
ans = max(ans, dp[i]);
}
printf("%d\n", ans);
return 0;
}