lintcode 1670. 回合制游戏

QW 是一个回合制游戏的玩家,今天他决定去打怪。
QW 在一场战斗中会碰到 n 个怪物,每个怪物有攻击力 atk[i],每回合结束时如果第 i 个怪物还活着,就会对 QW 造成 atk[i] 的伤害。QW 只能在每回合开始时击杀一个怪物,请帮 QW 出他打完所有怪物最少需要损失多少生命值。

样例
样例 1:

输入:atk = [19,3]
输出:3
样例 2:

输入:atk = [1,3,2,5]
输出:10
注意事项
n, atk[i] <= 100000
答案可能超过 int 范围
class Solution {
public:
    /**
     * @param atk: the atk of monsters
     * @return: Output the minimal damage QW will suffer
     */
    long long getAns(vector<int> &atk) {
        // Write your code here
        sort(atk.begin(),atk.end());
        long long sum=0;
        long long res=0;
        for (int i = 0; i < atk.size()-1; i++) {
            /* code */
            sum+=atk[i];
            res+=sum;
        }
        return res;
    }
};
发布了329 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43981315/article/details/103930762