考试时眼瞎没看到每个人的成绩小于等于600搞了T4才看见
本题很水
开一个数组存每个分数的人数
当获奖人数足够时
输出答案
#include<bits/stdc++.h>
using namespace std;
int n,m,a[100005],f[605];
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++){
int ans=0;
scanf("%d",&a[i]);
f[a[i]]++;
for(int j=600;j>=0;j--){
ans+=f[j];
if(ans>=max(1,i*m/100)){
printf("%d ",j);
break;
}
}
}
return 0;
}