창고다각형


title: 2026-01-16 author: 강병호 (이름) date: 2026-01-16 (날짜) category: TIL/강병호/2026/01 (파일 경로 : TIL/{이름}/{연}/{월}) layout: post (자유) —

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

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st; // = new StringTokenizer(br.readLine());

        int N = Integer.parseInt(br.readLine());
        int[] arr = new int[1001];
        int res = 0;

        int first_index = Integer.MAX_VALUE;
        int last_index = Integer.MIN_VALUE;
        int first_num = Integer.MIN_VALUE;
        int last_num = Integer.MIN_VALUE;
        int max_num = Integer.MIN_VALUE;
        int max_idx = 0;

        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            int idx = Integer.parseInt(st.nextToken());
            int num = Integer.parseInt(st.nextToken());
//            System.out.println("idx : " + idx + " num : " + num);
            arr[idx] = num;
            first_index = Math.min(first_index, idx);
            last_index = Math.max(last_index, idx);

            if (num > max_num) {
                max_num = num;
                max_idx = idx;
            }
        }

        int num = 0;

//        System.out.println("first_index : " + first_index);
//        System.out.println("last_index : " + last_index);
//        System.out.println("max_idx : " + max_idx);
//        System.out.println("max_num : " + max_num);

        for (int i = first_index; i <= max_idx; i++) {

            if (num < arr[i]) {
                num = arr[i];
            }

            res += num;
//            System.out.println("res : " + res);
        }

        num = 0;

        for (int i = last_index; i > max_idx; i--) {
            if (num < arr[i]) {
                num = arr[i];
            }

            res += num;

//            System.out.println("res : " + res);
        }

        System.out.println(res);
    }
}

results matching ""

    No results matching ""