提交时间:2024-10-02 13:51:32
运行 ID: 32878
#include<bits/stdc++.h> using namespace std; long long n,h,k,x[200005],f[200005],sum; priority_queue<long long>q; int main(){ scanf("%lld%lld%lld",&n,&h,&k); for(int i=1;i<=n;i++){ scanf("%lld",&x[i]); } for(int i=1;i<=n;i++){ scanf("%lld",&f[i]); if(f[i]==-1 && sum<h){ q.push(x[i]); sum++; } else if(f[i]==-1 && sum==h){ if(x[i]<q.top()){ q.pop(); q.push(x[i]); } } } while(k--){ long long x,f; scanf("%lld%lld",&x,&f); if(f==-1){ sum++; if(sum>h && x<q.top()){ q.pop(); q.push(x); } if(sum<h){ q.push(x); printf("Zombie ate your brain\n"); continue; } printf("%.1lf\n",q.top()/2.0); } else{ if(sum<h){ printf("Zombie ate your brain\n"); continue; } printf("%.1lf\n",q.top()/2.0); } } return 0; }