提交时间:2024-10-02 14:26:53
运行 ID: 32911
#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(){ cin>>n>> h>>t; for (int i = 1; i <= n; i++){ int v; cin>>z[i]; } for (int i = 1; i <= n; i++){ int v; cin>>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; cin>>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); cout << "Zombie ate your brain"<<endl; continue; } npq.push(x); npq.pop(); printf("%.1lf\n",npq.top()/2.0); } }