牛客IOI周赛26-普及组T3

结论:每次都选 rating 最小的最优。

堆维护即可。

#include<bits stdc++.h>
using namespace std;
priority_queue<double,vector<double>,greater<double> >q;
double sum;
int n,m,l=1,r;
int main(){
    cin>>n>>m,r=n;
    for(int i=1;i<=n;i++){
        double l;
        cin>>l;
        q.push(l),sum+=l;
    }
    for(int j=1;j<=m;j++){
        double l,r;
        cin>>l;
        r=(l+q.top())/2;
        sum-=q.top()/2;
        sum+=l/2;
        q.pop();
        q.push(r);
        printf("%.2lf\n",sum);
    }
}

引用内容:这是rating的题解,思路是每次选最小的最优(手动模拟)。3行代码也放在了这里

#include<con>//自动AC机
#include<iostream>//链接器
int main(){int a,b;cin>>a>>b;cout<<a+b<<endl;}//链接函数