原题链接:C-小苯的水果园(B组、C组)_2024年第七届传智杯程序设计挑战赛复赛(第一场)
解题思路:利用map函数来对果子种类的个数进行分类,最后进行遍历查询即可。其中保证了n与q之和不会大于3*10^5,因此用暴力直接解就可以过。
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int a[N];
int main(){
int n;
cin>>n;
while(n--){
map<int,int> mp;
int k,p;
cin>>k>>p;
for(int i=0;i<k;i++)
{
scanf("%d",&a[i]);
mp[a[i]]++;
}
for(int i=0;i<p;i++){
int x;
scanf("%d",&x);
int res=0;
for(auto i:mp)
if(i.second<=x)
res+=i.second;
printf("%d ",k-res);
}
printf("\n");
}
}