우보천리 개발

[이것이 코딩테스트다] 2. 큰 수의 법칙 Java 본문

알고리즘/이것이 코딩테스트다

[이것이 코딩테스트다] 2. 큰 수의 법칙 Java

밥은답 2023. 8. 14. 23:11
반응형
package ThisCodingTest;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

// p.92
public class CT2 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        int k = Integer.parseInt(st.nextToken());

        int[] arr = new int[n];
        st = new StringTokenizer(br.readLine());

        for (int i=0; i<n; i++) {
            arr[i] = Integer.parseInt(st.nextToken());
        }

        Arrays.sort(arr);

        int firstMax = arr[n-1];
        int secondMax = arr[n-2];
        int sum = 0;

        while (true) {
            for (int i=0; i<k; i++) {
                if (m == 0) break;
                sum += firstMax;
                m--;
            }
            if (m == 0) break;
            sum += secondMax;
            m--;
        }

        System.out.println(sum);
    }
}
반응형
Comments