Algorithm

[그리디] 백준 13305 주유소 JAVA

EllaCoo 2024. 4. 11. 20:05
package com.test.greedy;

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

public class G_5_13305 {
    // [그리디] 백준 13305 주유소 JAVA
    // 현재 알고있는 기름값 보다 더 싼 비용의 기름값을 만날때 까지 충전해 길을 가자!
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine()); //도시 개수 N
        String[] roadLength = br.readLine().split(" "); //N-1개
        String[] bills = br.readLine().split(" "); //N개

        int lastMinCityIdx = 0;
        Long result = Long.parseLong(bills[0]) * Long.parseLong(roadLength[0]);
        for (int i = 1; i < N-1; i++) {
            long nowCityBill = Long.parseLong(bills[i]);
            long minCityBill = Long.parseLong(bills[lastMinCityIdx]);
            if (nowCityBill < minCityBill) {
                // 더 기름값 싼 도시 발견
                lastMinCityIdx = i;
                result += nowCityBill * Long.parseLong(roadLength[i]);
            } else {
                // 그 전 기름값이 더 쌈..
                result += minCityBill * Long.parseLong(roadLength[i]);
            }
        }
        System.out.println(result);

    }
}