记录编号 | 428516 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 烤鸡翅 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.117 s | ||
提交时间 | 2017-07-25 20:08:45 | 内存使用 | 0.89 MiB | ||
#include<iostream> #include<cstring> #include<cstdio> #include<queue> using namespace std; typedef long long L; inline int read(){ int sum(0); char ch(getchar()); while(ch<'0'||ch>'9') ch=getchar(); while(ch>='0'&&ch<='9'){ sum=sum*10+ch-'0'; ch=getchar(); } return sum; } int n; int x[250001],y[250001]; L sum(0); int ans(0); priority_queue<int>q; inline int gg(){ freopen("wing.in","r",stdin); freopen("wing.out","w",stdout); n=read(); for(int i=1;i<=n;i++) x[i]=read(); for(int i=1;i<=n;i++) y[i]=read(); for(int i=1;i<=n;i++){ sum+=x[i]; if(sum>=y[i]){ sum-=y[i]; q.push(y[i]); ans++; } else{ if(!q.empty()&&q.top()>y[i]){ sum+=q.top(); sum-=y[i]; q.pop(); q.push(y[i]); } } } printf("%d",ans); } int K(gg()); int main(){;}