文章
40
粉丝
607
获赞
68
访问
419.7k
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
using namespace std;
struct Man {//结构体
string name;
double money;
} man[11];
bool cmp(Man a, Man b) {//比较函数,想从大到小用>号;想从小到大用<号
return a.money > b.money;
}
int main() {
int n, k;
std::ios::sync_with_stdio(false);//解绑
std::cin.tie(nullptr);
while (cin >> n >> k) {//先将k个人信息接收进来
for (int i = 0; i < k; i++) {
cin >> man[i].name;
cin >> man[i].money;
}
sort(man, man + k, cmp);//按钱排序
for (int j = k;j < n;j++) {//每接一新的信息,跟最后一人比较。钱大于最后一人,更新man[k]并重新排序
cin >> man[k].name;
cin >> man[k].money;
if (man[k - 1].money < man[k].money) {
man[k - 1].name = man[k].name;
man[k - 1].money = man[k].money;
sort(man, man + k, cmp);
}
}
for (int j = 0; j < k; j++) {
cout << man[j].name << " " << man[j].money << endl;
}
cout <&...
登录后发布评论
数据加强了,回来重写吧兄弟,k==n退化成nlogn了