解题思路 将骑士按力量从小到大排序,到第i个骑士的时候,前面的i-1个骑士他都可以击败,找出金币最多的k个. 用multiset存金币最多的k个骑士的金币数,如果多余k个,则删除金币数最小的,直到只有k个数字. 我就是因为没有用multiset在最后5分钟被hack了. 代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; int n,k; //输入,p表示力量,c表示金币,idx表示输入时的位置 stru…