1038 统计同成绩学生 (20 point(s))
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, k, t;
map<int, int> stu;
cin >> n;
while(n--){
cin >> t;
stu[t]++;
}
cin >> k;
for(int i = 0; i < k; i++){
cin >> t;
cout << (i ? " " : "") << stu[t];
}
}
有超时可能,但不影响全部AC
看了下,因为题目说了是百分制的,所以可能存在的分数就会限定在[0, 100] 区间内,所以也可以用一个数组,采用桶排序的方式。将分数作为下标即可。
浙公网安备 33010602011771号