玄关求调
  • 板块学术版
  • 楼主LNYZY
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/24 20:34
  • 上次更新2025/1/25 08:01:03
查看原帖
玄关求调
1278494
LNYZY楼主2025/1/24 20:34

U528983

40分

#include<bits/stdc++.h>
#define int long long
using namespace std;
int m,t,p,l,a[10005],ans,cnt,tot;
signed main(){
	cin>>m>>t>>p>>l;
	for(int i=1;i<=m;i++){
		cin>>a[i];
	}
	sort(a+1,a+m+1);
	reverse(a+1,a+m+1);
	for(int i=1;i<=m;i++){
		int y,sum=0;
		if(tot<=t){
			for(int j=i;j<=p;j++){
				if(a[j]<=l){
					y=j;
					break;
				}
				else{
					y=j;
				}
			}
			for(int j=i;j<=y;j++){
				sum+=a[j];
			}
			if(sum<=l){
				break;
			}
			else{
				tot++;
				for(int j=i;j<=y;j++){
					a[j]=0;
				}
				a[y]=l;
			}
		}
	
	}
	for(int i=1;i<=m;i++){
		ans+=a[i];
	}
	cout<<ans;
	return 0;
}
2025/1/24 20:34
加载中...