Notice: Undefined index: name in /usr/www/lib/views/home/viewtitle.html on line 188
-完善程序 第 19 题
(贪心)你用过QQ吗?在QQ群里,管理员可以禁言用户。 在Boboniu的QQ群里,小D每天都开Boboniu的玩笑。 小D会在群里待n天,Boboniu的心情是m。在第i天,如果小D没被禁言,他会开一个严重程度为ai的玩笑;如果开的玩笑严重程度大于m,他就会被Boboniu禁言d天,也就是说,在第i+1,i+2,...,min(i+d,n)天,他都会被禁言。 你可以将序列a重排,求开的所有玩笑的严重程度之和的最大值。 [输入] 第一行是n,d,m,之后一行n个整数ai。 1 ≤d≤n≤=10^5,0≤m≤10^9 ,0≤a≤10^9。 提示:贪心。 试补全程序。
# include <bits/stdc++.h>
using namespace std;

const int MAXN= 1e5 + 5;

int big[MAXN], small[MAXN], sum[MAXN];
int p1=1,p2=1;
int n,m,k,x;

int main() {
	cin>> n>> m>> k;
	for(int i=1; i<=n; i++) {
		cin>>x;
		if(x <= k) {
			___(1)___;
		} else {
			big[p2++]=x;
		}
	}
	sort(small+1, small+1+ p1,greater<int>());
	sort(big+ 1, big+1 + p2,  greater<int>());
	for(int i=1; i<=p1; i++) {
		___(2)___;
	}
	int ans= sum[p1], cur = 0;
	for(int i=1; i<= p2; i++) {
		cur+= ___(3)___;
		int days =___(4)___+1;
		if(days>n) {
			break;
		}
		int left = min(n-days, p1);
		ans=max(ans,___(5)___);
	}
	cout<< ans<< endl;
	return 0;
}
● 单选题
第 1 题 ⑴处应填( )
第 2 题 ⑵处应填( )
第 3 题 ⑶处应填( )
第 4 题 ⑷处应填( )
第 5 题 ⑸处应填( )

解答部分以后会开放。