1. 题目来源
链接:分数线
2. 题目说明
3. 题目解析
方法一:桶排序+巧妙解法
题意很明确,解法采用桶排序的思想,时间复杂度为 O ( n ) O(n) O(n) ,空间复杂度在此为 O ( 1 ) O(1) O(1)。
参见代码如下:
#include <iostream>
using namespace std;
int main() {
int n, num[105] = {0};
cin >> n;
for (int i = 0; i < n; ++i) {
int tmp;
cin >> tmp;
++num[tmp];
}
int ans = 0;
for (int i = 100; i >= 0; --i) {
ans += num[i];
if (ans * 2 >= n) {
cout << i << " " << ans << endl;
break;
}
}
return 0;
}