Algorithm/Baekjoon

[Algorithm/Baekjoon] ์ฃผ์œ ์†Œ - 13305 (S3/JAVA)

dpdms2148 2023. 8. 7. 21:03
728x90

๐Ÿ“‘๋ฌธ์ œ๋งํฌ

 

13305๋ฒˆ: ์ฃผ์œ ์†Œ

ํ‘œ์ค€ ์ž…๋ ฅ์œผ๋กœ ๋‹ค์Œ ์ •๋ณด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฒซ ๋ฒˆ์งธ ์ค„์—๋Š” ๋„์‹œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ N(2 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” ์ธ์ ‘ํ•œ ๋‘ ๋„์‹œ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋„๋กœ์˜ ๊ธธ์ด๊ฐ€ ์ œ์ผ ์™ผ์ชฝ ๋„๋กœ๋ถ€ํ„ฐ N-1

www.acmicpc.net

๐Ÿ’ป์ฝ”๋“œ

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

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());

        long[] distance = new long[N - 1];
        long[] price = new long[N];

        StringTokenizer st = new StringTokenizer(br.readLine());
        for (int i = 0; i < N - 1; i++) {
            distance[i] = Long.parseLong(st.nextToken());
        }

        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < N; i++) {
            price[i] = Long.parseLong(st.nextToken());
        }

        long answer = 0;
        long minPrice = price[0];
        for (int i = 0; i < N - 1; i++) {
            if (price[i] < minPrice) {
                minPrice = price[i];
            }
            answer += minPrice * distance[i];
        }

        System.out.print(answer);
    }
}

โณํšŒ๊ณ 

  • ๋ฌธ์ œ ์กฐ๊ฑด์„ ํ™•์ธํ•˜๊ณ  ๊ฑฐ๋ฆฌ, ๊ฐ€๊ฒฉ, ์ตœ์†Œ๊ฐ’์„ ๋ชจ๋‘ long์œผ๋กœ ์„ ์–ธํ•˜์˜€๋Š”๋ฐ, ์Šต๊ด€์ ์œผ๋กœ answer๋ฅผ int๋กœ ์„ ์–ธํ–ˆ๋‹ค.
728x90