[BOJ] 13305. ์ฃผ์œ ์†Œ (๐Ÿฅˆ, ๊ทธ๋ฆฌ๋””)

lemythe423ยท2024๋…„ 1์›” 20์ผ
0

BOJ ๋ฌธ์ œํ’€์ด

๋ชฉ๋ก ๋ณด๊ธฐ
103/133
post-thumbnail

๐Ÿ”—

ํ’€์ด

์ฃผ์œ ์†Œ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ์ƒ๊ฐํ•˜๋ฉด ์™„์ „ ํƒ์ƒ‰์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ณ , ๊ทธ๋ž˜์„œ ์ฒ˜์Œ์—” ๋’ค์—์„œ ์•ž์œผ๋กœ ์˜ค๋ฉด์„œ ์ด์ „์˜ ๊ฐ’์„ ์ €์žฅํ•ด๋‘๋Š” dp ๋ฐฉ์‹์„ ์ƒ๊ฐํ–ˆ์ง€๋งŒ ๋„ˆ๋ฌด ๋ณต์žกํ•ด์กŒ๋‹ค.

๋‹ค์‹œ ์•ž์—์„œ ๋’ค๋กœ ๊ฐ€๋Š” ๊ฑธ ์ƒ๊ฐํ•˜๋‹ˆ ๊ทธ๋ƒฅ ์ด์ „์˜ ์ฃผ์œ ์†Œ ๋ฆฌํ„ฐ ๊ฐ’๊ณผ ํ˜„์žฌ์˜ ์ฃผ์œ ์†Œ ๋ฆฌํ„ฐ๊ฐ’์„ ๋น„๊ตํ•ด์„œ ์ด์ „ ๊ฐ’์ด ๋” ์ž‘์œผ๋ฉด ๋” ์ž‘์€ ๊ฑธ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ณ , ํ˜„์žฌ ์ฃผ์œ ์†Œ ๋ฆฌํ„ฐ๊ฐ’์ด ๋” ์ž‘์œผ๋ฉด ๊ทธ๋Œ€๋กœ ๊ฐ€๋Š” ์‹์œผ๋กœ ๊ณ„์‚ฐํ•˜๋ฉด ๋˜๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. ์ฃผ์œ ์†Œ ๋ฆฌํ„ฐ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•˜๋ฉด์„œ ๋™์‹œ์— ์ด๋™ํ•ด์•ผ ํ•˜๋Š” ๊ฑฐ๋ฆฌ * ๋ฆฌํ„ฐ ๊ฐ’์„ ์ตœ์ข… ๊ฐ€๊ฒฉ์ธ cost ์— ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

// ์ฃผ์œ ์†Œ

package Baekjoon.Silver;

import java.io.*;
import java.util.*;

public class baekjoon_13305 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine());
        long[] DISTANCE = new long[N-1];
        for (int i = 0; i < N-1; i++) {
            DISTANCE[i] = Long.parseLong(st.nextToken());
        }
        st = new StringTokenizer(br.readLine());
        long[] LITER = new long[N];
        for (int i = 0; i < N; i++) {
            LITER[i] = Long.parseLong(st.nextToken());
        }

        long cost = 0;
        for (int i = 0; i < N-1; i++) {
            cost += LITER[i] * DISTANCE[i];
            if (LITER[i+1] > LITER[i]) {
                LITER[i+1] = LITER[i];
            }
        }

        System.out.println(cost);
    }
}`
profile
์•„๋ฌด๋ง์ด๋‚˜ํ•˜๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€