解题思路:
注意事项:
参考代码:
#include<stdio.h>
struct xs {
int id;
int mark;
};
struct xs x[5001];
struct xs t;
int main() {
int n, m;
int i, j;
scanf("%d %d", &n, &m);
for (i = 0; i < n; i++) {
scanf("%d %d", &x[i].id, &x[i].mark);
}
m *= 1.5;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i; j++) {
if (x[j].mark < x[j + 1].mark) {
t = x[j];
x[j] = x[j + 1];
x[j + 1] = t;
} else if (x[j].mark == x[j + 1].mark) {
if (x[j].id > x[j + 1].id) {
t = x[j];
x[j] = x[j + 1];
x[j + 1] = t;
}
}
}
}
// printf("\n");
// for(i=0;i<n;i++){
// printf("%d %d\n",x[i].id,x[i].mark);
// }
int s=0;
for (i = 0; i < n; i++) {
if(x[i].mark>=x[m].mark){
s++;
}
}
printf("%d %d\n", x[m].mark,s);
for (i = 0; i < s; i++) {
printf("%d %d\n", x[i].id, x[i].mark);
}
}
0.0分
0 人评分