std不知道对不对:
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll m,t,p,l,M[1000000];
bool cmp(ll x,ll y){
return x>y;
}
int main(){
cin>>m>>t>>p>>l;
for(int i=1;i<=m;i++){
cin>>M[i];
}
sort(M+1,M+m+1,cmp);
ll ls=1,rep=1,ans=0;
for(int i=1;i<=t;i++){
ll sum=0;
rep=ls;
for(int j=ls,summ=1;summ<=p;summ++,j++){
sum+=M[j];
}
if(sum>l){
ans+=l;
}
else{
break;
}
ls+=p;
rep=ls;
}
for(int i=rep;i<=m;i++){
ans+=M[i];
}
cout<<ans;
}
std是 Misty_Post 大佬写的,数据我出的,代码能过,但我同学都是三四十分,可以看一下记录,有哪位佬验一下题