Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
32915 | 郭澍宇 | 【S】贾果 | C++ | 解答错误 | 70 | 218 MS | 5064 KB | 1243 | 2024-10-02 14:31:08 |
#include<bits/stdc++.h> using namespace std; int n,h,t; int z[200005]; priority_queue<int,vector<int>,greater<int> > pq; priority_queue<int> npq; int main(){ scanf("%d%d%d",&n,&h,&t); for (int i = 1; i <= n; i++){ int v; scanf("%d",&z[i]); } for (int i = 1; i <= n; i++){ int v; scanf("%d",&v); if(v>0)continue; if(z[i]<0)continue; pq.push(z[i]); } for(int i = 1;i<=h;i++){ if(pq.empty())break; npq.push(pq.top()); pq.pop(); } while(t--){ int x,v; scanf("%d%d",&x,&v); if(x<0&&npq.size() == h){ printf("%.1lf\n",npq.top()/2.0); continue; } if(v>0&&npq.size() == h){ printf("%.1lf\n",npq.top()/2.0); continue; } if(npq.size() + 1 == h){ npq.push(x); printf("%.1lf\n",npq.top()/2.0); continue; } if(npq.size() + 1 < h){ npq.push(x); printf("Zombie ate your brain\n"); continue; } npq.push(x); npq.pop(); printf("%.1lf\n",npq.top()/2.0); } }