你排序学号是从大到小,应该从小到大才对
by xiaoxiaoyyds @ 2023-10-06 18:39:15
@[123WRz](/user/739859) 学号从小到大
by Pitiless_boy @ 2023-10-06 18:43:09
```cpp
#include <bits/stdc++.h>
using namespace std;
int n, m;
struct xinxi{
int id;
int fen;
}a[5001];
bool cmp(xinxi x, xinxi y) {
if (x.fen != y.fen)
return x.fen < y.fen;
else
return x.id > y.id;
}
int main(){
scanf("%d%d", &n, &m);
for (int i = 1; i <= n; i++)
scanf("%d%d", &a[i].id, &a[i].fen);
for (int i = 1; i <= n; i++)
for (int j = i + 1; j <= n; j++)
if (cmp(a[i], a[j]))
swap(a[i], a[j]);
int t = floor(m * 1.5);
int sum = a[t].fen;
int s = 0;
for (int i = 1; i <= n; i++)
if (a[i].fen >= sum)
s++;
printf("%d %d\n", sum, s);
for (int i = 1; i <= s; i++)
printf("%d %d\n", a[i].id, a[i].fen);
}
```
这是我代码
by Pitiless_boy @ 2023-10-06 18:44:16
```cpp
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const int N = 5005;
int s[N], id[N], n, m;
int main() {
cin >> n >> m;
m *= 1.5;
for (int i = 1; i <= n; i ++)
cin >> id[i] >> s[i];
for (int i = n; i > 1; i --) {
bool flag = true;
for (int j = 1; j < i; j ++) {
if (s[j] < s[j + 1] || s[j] == s[j + 1] && id[j] > id[j + 1]) {
swap(s[j], s[j + 1]);
swap(id[j], id[j + 1]);
flag = false;
}
}
if (flag) break;
}
while (s[m + 1] == s[m]) m ++;
cout << s[m] << " " << m << endl;
for (int i = 1; i <= m; i ++)
cout << id[i] << " " << s[i] << endl;
return 0;
}
```
by laixiaoyang @ 2023-10-06 18:58:41
已经全部关注
by 123WRz @ 2023-10-06 19:00:07
80分
by 123WRz @ 2023-10-06 20:18:01