Java

[백준 13305] 주유소 (JAVA)

iheeeee6-6 2023. 3. 22. 22:03
728x90

https://www.acmicpc.net/problem/13305

 

 

13305번: 주유소

표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1

www.acmicpc.net

 

 

가장 처음 도시에서는 무조건 주유를 해야한다는 점,

그 이후로는 가장 싼 곳에서 주유를 해서 가면 된다~

+ int로는 범위가 넘기 때문에 long으로 해줘야 한다! 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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());
		
		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[] cost=new long[n];
		for(int i=0;i<n;i++) {
			cost[i]=Long.parseLong(st.nextToken());
		}

		long min =cost[0];
		long result=0;
		for(int i=0;i<n-1;i++) {
			if(min>cost[i])
				min=cost[i];
			result+=min*distance[i];
			
		}
		
		System.out.println(result);
		
	}

}