求救,玄关!!!
  • 板块灌水区
  • 楼主caisiqi531
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/8 11:05
  • 上次更新2024/7/8 12:07:27
查看原帖
求救,玄关!!!
1082052
caisiqi531楼主2024/7/8 11:05

这是题目题目 这是我的代码

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
long long A,m,a[N],sum,num;
int n,cf,cm;
double pjj;
int cmp(int x,int y){
	return x>y;
}
int main (){
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	cin>>n>>A>>cf>>cm>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		pjj+=a[i]*1.0;
	}
	pjj=ceil(pjj/n);
	long long pj=(int)pjj;
	//cout<<pj<<" ";
	for(int i=1;i<=n;i++){
		if(a[i]<pj){
			m=m-(pj-a[i]);
			a[i]=pj;
			//cout<<m<<" ";
		}
	}
	//for(int i=1;i<=n;i++)cout<<a[i]<<" "; 
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=n;i++){
		if(a[i]==A){
			num++;
			continue;
		}
		sum=A-a[i];
		m-=sum;
		if(m<0){
			m+=sum;
			a[i]+=m;
			break;
		}else a[i]=A;
		if(a[i]==A)num++;
	}
	//for(int i=1;i<=n;i++)cout<<a[i]<<" "; 
	long long E=num*cf+a[n]*cm;
	cout<<E;
	return 0;
}
/*
5 6 2 3 10
2 3 3 6 1
*/

这个代码样例可以过但是只有50分,有大佬可以帮帮我吗?

2024/7/8 11:05
加载中...