题解 | #组合游戏#

组合游戏

https://ac.nowcoder.com/acm/problem/15946

要求花费最少金币,所以每次都选取2个最小的木板进组合。

import java.io.*;

import java.util.*;

public class Main {

static Scanner sc = new Scanner(System.in);

static int n;

static long a;

public static void main(String[] args){
    while (sc.hasNext()) {
        long sum = 0;
        n = sc.nextInt();
        long[] arr = new long[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextLong();
        }
        sum = 0;
        int i = 0;
        while (i < n-1) {
            Arrays.sort(arr);
            a = arr[i] + arr[i+1];
            sum += a;
            arr[i] = 0;
            arr[i+1] = a;
            i ++;
        }
        System.out.println(sum);
    }
}

}

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务