题解 | AOE还是单体?

AOE还是单体?

https://www.nowcoder.com/practice/84dec7e96e3d4f75808b47e1b8b0280c

/*
给牌佬写高潮了,难道我真的是尖塔赋能哥
考虑aoe的情况,如果aoe的费高于怪的数量,那对于每个怪都减一hp就需要n*x的费来进行,还不如一人一个打击减血
所以用sum存储总血量,如果x>=n就输出sum就行了
考虑aoe与平a结合的情况,同上,如果aoe有效减血的怪小于x同样也是不如平a一个个减的,
所以先逆序排序记录vec[x]的血量,如果有ai的血高于vec[x]平a减血的效率更高,反之则是aoe的效率更高
所以代码如下,觉得写的好的点个赞呗
*/



#include <bits/stdc++.h>
using namespace std;

int main()
{	
	long long n,x;
	cin>>n>>x;
	vector<long long>vec(n);
	long long sum=0;
	for(int i=0;i<n;i++){
		cin>>vec[i];
		sum+=vec[i];
	}
	sort(vec.begin(),vec.end(),greater<long long>());
	if(x<n){
		long long need=0;
		for(int i=0;i<x;i++){
			need+=vec[i]-vec[x];
		}
		cout<<need+vec[x]*x;
	}
	else{
		cout<<sum<<endl;
	}
	return 0;
}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务