牛客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;}//链接函数


京公网安备 11010502036488号