【蓝桥必胜】试题 算法训练 kAc给糖果你吃-贪心排序

文章目录

  • 题目
  • 解析
  • 代码

题目

资源限制
时间限制:1.0s 内存限制:256.0MB

问题描述

kAc有n堆糖果,每堆有A[i]个。
kAc说你只能拿m次糖果,聪明的你当然想要拿最多的糖果来吃啦啦啦~
//第二天,kAc问你还想吃糖果么?(嘿嘿嘿)说着眼角路出奇怪的微笑…

输入格式

第一行两个数字n和m,第二行有n个数字A[i]。

输出格式

输出一行表示最多能拿几个糖果。

样例输入

2 2
1 2

样例输出

3

数据规模和约定

0<n≤1000
其余数字都是不超过1,000,000,000的非负整数。

解析

直接贪心,排个序,核心一行秒了,没什么好说的哈,一道水题,注意一下数据规模开个 long 足够了。

代码

//试题 算法训练 kAc给糖果你吃
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		
		int n = in.nextInt();
		int m = in.nextInt();
		ArrayList<Long> A = new ArrayList<Long>();
		
		for (int i=0; i<n; i++) {
			Long temp = in.nextLong();
			A.add(temp);
		}

		// 降序排序
		A.sort(Comparator.reverseOrder()); 
		
		Long ans = (long) 0;
		for (int i=0; i<m; i++) {
			ans += A.get(i);
		}
		
		System.out.println(ans);
		
		in.close();
	}
}

注意下 long 就行。
【蓝桥必胜】试题 算法训练 kAc给糖果你吃-贪心排序_第1张图片
如果我的博客对你有用的话,请给一个一键三连吧!

你可能感兴趣的:(刷题记录,算法,贪心算法,排序算法,蓝桥杯)