Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
32888 | hi_hi | 【S】贾果 | C++ | 解答错误 | 85 | 206 MS | 7000 KB | 996 | 2024-10-02 14:05:57 |
#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){ q.push(x); printf("Zombie ate your brain\n"); continue; } else if(sum>h && x<q.top()){ q.pop(); q.push(x); } 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; }