文章
12
粉丝
0
获赞
12
访问
633
#include<bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int N = 1e5+10;
typedef long long LL;
struct engineer{
int speed;
int efficiency;
};
bool func(engineer a,engineer b){
return a.efficiency > b.efficiency;
}
int main(){
int n;
cin>>n;
vector<engineer> engs(n);
char t;
for(int i = 0 ; i < n; i++){
cin>>engs[i].speed;
if(i!=n-1)
cin>>t;
}
for(int i = 0 ; i < n; i++){
cin>>engs[i].efficiency;
if(i!=n-1)
cin>>t;
}
int k;
cin>>k;
sort(engs.begin(), engs.end(), func);
priority_queue<int , vector<int> , greater<int> > min_heap;
LL speedSum = 0;
LL ans = 0;
for(int i = 0 ; i < engs.size(); i++){
int curr_efficiency = engs[i].efficiency;
int curr_speed = engs[i].speed;
speedSum += curr_speed;
min_heap.push(curr_speed);
if(min_heap.size() > k){
speedSum -= min_heap.top();
m...
登录后发布评论
暂无评论,来抢沙发