文章

40

粉丝

607

获赞

68

访问

400.5k

头像
1546福布斯富豪榜(只A掉,不是最好的写法)
P1546
发布于2020年2月24日 11:14
阅读数 12.3k

#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 <&...
登录查看完整内容


登录后发布评论

2 条评论
csYfZhang VIP
2020年5月28日 15:57

数据加强了,回来重写吧兄弟,k==n退化成nlogn了

赞(0)

莫小七 : 回复 csYfZhang: 谢谢提醒,(∩_∩),我把cin,cout解绑提了下速度。

2020年5月29日 11:44