P1068代码求助
  • 板块题目总版
  • 楼主L_Legend
  • 当前回复8
  • 已保存回复8
  • 发布时间2021/8/9 10:21
  • 上次更新2023/11/4 11:27:26
查看原帖
P1068代码求助
533879
L_Legend楼主2021/8/9 10:21
#include<bits/stdc++.h>
using namespace std;
int i, n, m, f, num, k[5010], s[5010], sub[5010];
bool cmp(int a, int b) {
	if (s[a] == s[b]) {
		return k[a] < k[b];
	} else {
		return s[a] > s[b];
	}
}
int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; i++) {
		cin >> k[sub[i] = i] >> s[i];
	}	
	sort(sub + 1, sub + n + 1, cmp);
	f = s[sub[int(m * 1.5)]];
	for (int i = 1; s[sub[i]] >= f; i++) {
		num++;
	}
	cout << f << " " << num << endl;
	for (int i = 1; s[sub[i]] >= f; i++) {
		cout << k[sub[i]] << " " << s[sub[i]] << endl;
	}
	return 0;
}

哪位大佬,可以给我讲讲这份代码,尤其是

cin >> k[sub[i] = i] >> s[i];

里面kk数组的输入是什么意思,还有上面的那个cmpcmp函数,对应下面的sortsort排序。蟹蟹

2021/8/9 10:21
加载中...