比赛 20160415 评测结果 AAAAAAAAAA
题目名称 烤鸡翅 最终得分 100
用户昵称 农场主 运行时间 0.359 s
代码语言 C++ 内存使用 2.59 MiB
提交时间 2016-04-15 10:47:46
显示代码纯文本
#include<cstdio>
#include<queue>
#include<vector>
#include<algorithm>
using namespace std;
priority_queue<int,vector<int>,greater<int> > pq; 
int n,x[300000]={0},y[300000]={0},tot=0,t=0;
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]);
	for (int i=n;i>=1;i--){
		pq.push(y[i]);
		while (x[i]>0&&!pq.empty()){
			if (x[i]>=pq.top()){
				tot++;
				x[i]-=pq.top();
				pq.pop();
			}
			else{
				t=pq.top()-x[i];
				x[i]=0;
				pq.pop();
				pq.push(t);
			}
		}
	}
	printf("%d",tot);
	return 0;
}