牛客 AOE还是单体?

题目表述

链接:https://ac.nowcoder.com/acm/contest/5600/A
来源:牛客网

牛客 AOE还是单体?
牛客 AOE还是单体?

题解

本题有一定的贪心思想,遵循局部最优选择。
首先,我定义血量大于零的怪兽为活着的怪兽(鄙人没什么文化,想不出更贴切的词了,见谅),血量等于零的怪兽为死了的怪兽。
当活着的怪兽数量大于x时,每消耗x的能量,会造成大于x的伤害,即每一点能量值可以造成大于1的伤害,所以选择践踏。
而当活着的怪兽数量小于x时,则选择冲撞。

代码

//LMY
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N=10e5;
ll a[N];
int main() {
	ll x,i,n,result=0;
	scanf("%lld%lld",&n,&x);
	for(i=0; i<n; i++) {
		scanf("%lld",&a[i]);
	}
	sort(a,a+n);
	if(x>=n) {
		for(i=0; i<n; i++) {
			result=result+a[i];
		}
	}
	if(x<n) {
		ll temp,sum=0;
		temp=(n-x)*x;
		for(i=n-x; i<n; i++) {
			sum=sum+a[i]-(n-x);
		}
		result=sum+temp;
	}
	printf("%lld\n",result);
	return 0;
}
上一篇:java web 总结 (新年快乐,期末加油^ ^)


下一篇:Servlet生命周期及特性总结