- 阮迪 的博客
神秘金币
- @ 2024-10-3 16:37:31
题目传送门
我本来还以为这个题目很难,直到发现 t 不重复(去找吧,包有)
所以只需要用 v 就行了
以下是代码:
#include<bits/stdc++.h>
using namespace std;
struct node{
int t, v;
}a[100005];
int n, k;
long long ans;
bool cmp(node i, node j){
return i.v > j.v;
}
int main(){
freopen("coin.in", "r", stdin);
freopen("coin.out", "w" , stdout);
cin >> n >> k;
for (int i = 1; i <= n; i++) cin >> a[i].t;
for (int i = 1; i <= n; i++) cin >> a[i].v;
sort(a+1, a+1+n, cmp);
for (int i = 1; i <= k; i++) {
ans += a[i].v;
}
cout << ans;
return 0;
}