列表

详情


NC205048. AOE还是单体?

描述

牛可乐准备和 个怪物厮杀。已知第 个怪物的血量为 a_i
牛可乐有两个技能:
第一个技能是蛮牛冲撞,消耗 ,可以对任意单体怪物造成 点伤害。
第二个技能是蛮牛践踏,消耗 ,可以对全体怪物造成 点伤害。
牛可乐想知道,将这些怪物全部击杀,消耗 的最小值的多少?

输入描述

第一行两个正整数  ,分别代表怪物的数量、每次蛮牛践踏消耗的  值。 
第二行 个正整数 a_i ,分别代表每个怪物的血量。

输出描述

一个正整数,代表消耗  的最小值。

示例1

输入:

5 2
2 4 5 6 3

输出:

11

说明:

先对3号怪物用1次蛮牛冲撞,对4号怪物用2次蛮牛冲撞,此时消耗mp为3,怪物的血量是2,4,4,4,3。
然后用4次蛮牛践踏,击杀全部怪物,消耗的mp总量为11。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++11(clang++ 3.9) 解法, 执行用时: 144ms, 内存消耗: 1260K, 提交时间: 2020-06-11 11:56:08

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long n,x,i=0,s=0;
    cin>>n>>x;
    int a[n];
    while(i<n)cin>>a[i++];
    sort(a,a+n);
    while(i>n-x&&i>0)s+=a[--i];
    cout<<s;
    return 0;
}

Python3(3.5.2) 解法, 执行用时: 238ms, 内存消耗: 25344K, 提交时间: 2020-06-11 12:08:18

i=input
x=int(i().split()[1])
print(sum(sorted(map(int,i().split()))[-1:-x-1:-1]))

上一题