2020直播获奖_CSP(题解)

题目在这
此题需要用桶排做‘
你问我桶排是什么?
额…

桶排序就是…

比方说你要排序的数在100~110
,之间,那么你就需要准备100~
110个桶用来存储,就可以了。

代码如下

#include
#include
using namespace std;
int t[605];//分数要求在600分以内,定义个这个就可以了
int n,w;
int main(){
     
//	freopen("live.in","r",stdin);
//	freopen("live.out","w",stdout);
	int x;
	cin>>n>>w;
	for(int i=1;i<=n;i++){
     
		cin>>x;
		t[x]++;
		int sum=0;
		for(int j=600;j>=0;j--){
     
			sum+=t[j];
			if(sum>=max(1,i*w/100)){
     
				cout<<j<<' ';
				break;
			}
		}
	}
	return 0;
}

你可能感兴趣的:(c++,桶排序)