AOE还是单体? 题解

AOE还是单体?

https://ac.nowcoder.com/acm/contest/5600/A

考点:贪心
我们可以用性价比来看。
如果我们花费x能打掉大于x的血量,我们肯定优先选择用第二种方法呀
反之我们就用第一种方法。
import java.util.*;
import java.math.*;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;
import java.io.OutputStreamWriter;
import java.io.BufferedReader;
import java.io.PrintWriter;
public class Main {
    public static HashMap<Integer,Long>map = new HashMap<>();
    public static void main(String args[])throws IOException {
        StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
        PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));
        in.nextToken();
        int n = (int)in.nval;
        in.nextToken();
        int x = (int)in.nval;
        int num[] = new int[n];
        for(int i=0;i<n;i++)
        {
            in.nextToken();
            num[i] = (int)in.nval;
        }
        Arrays.sort(num);
        long sum=0;
        if(n>x)
        {
        sum=x*num[n-x-1];
        for(int i=n-x;i<n;i++)
            sum+=num[i];
        sum-=(x*num[n-x-1]);
        out.print(sum);
        }
        else{
            for(int i=0;i<n;i++)
                sum+=num[i];
            out.print(sum);
        }
        out.flush();
    }
}


全部评论

相关推荐

头像
04-29 10:53
已编辑
东北大学 自动化类
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务