#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int n, k;
class CompareRule {
public:
bool operator()(const pair<int, int>& n1, const pair<int, int>& n2) const {
if (n1.first != n2.first) return n1.first > n2.first;
else return n1.second < n2.second;
}
};
int main() {
cin >> n >> k;
vector<pair<int, int>> tmp(n);
for (int i = 0; i < n; i++) {
cin >> tmp[i].second;
}
for (int i = 0; i < n; i++) {
cin >> tmp[i].first;
}
sort(tmp.begin(), tmp.end(), CompareRule());
long long su = 0, ti = 0;
for (int i = 0; i < k; i++) {
ti += tmp[i].first;
su += tmp[i].second;
}
cout << su << ' ' << ti << endl;
return 0;
}
#include <vector>
#include <algorithm>
using namespace std;
int n, k;
class CompareRule {
public:
bool operator()(const pair<int, int>& n1, const pair<int, int>& n2) const {
if (n1.first != n2.first) return n1.first > n2.first;
else return n1.second < n2.second;
}
};
int main() {
cin >> n >> k;
vector<pair<int, int>> tmp(n);
for (int i = 0; i < n; i++) {
cin >> tmp[i].second;
}
for (int i = 0; i < n; i++) {
cin >> tmp[i].first;
}
sort(tmp.begin(), tmp.end(), CompareRule());
long long su = 0, ti = 0;
for (int i = 0; i < k; i++) {
ti += tmp[i].first;
su += tmp[i].second;
}
cout << su << ' ' << ti << endl;
return 0;
}

京公网安备 11010502036488号