BOJ 16208 - 귀찮음 (Java)

rivermt·2023년 8월 30일
0

BOJ

목록 보기
16/18

문제


https://www.acmicpc.net/problem/16208

풀이

큰 막대를 나중에 곱할수록 전체 값이 커지므로 최소비용을 얻으려면 큰 막대를 먼저 곱해줘야 한다.

CODE

import java.io.*;
import java.util.Arrays;
import java.util.stream.LongStream;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader((new InputStreamReader(System.in)));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int n = Integer.parseInt(br.readLine());

        long[] bars = Arrays.stream(br.readLine().split(" "))
                .mapToLong(Long::parseLong)
                .sorted()
                .toArray();

        long bar_length = LongStream.of(bars).sum();

        long ans = 0;

        for (long length : bars) {
            bar_length -= length;
            ans += bar_length * length;
        }

        bw.write(Long.toString(ans));
        br.close();
        bw.close();
    }
}
profile
화이팅!!

0개의 댓글