코딩테스트/백준

백준 13305 : 주유소 _자바 Java

플래시🦥 2023. 1. 19.
반응형

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

 

13305번: 주유소

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

www.acmicpc.net


*100점 코드(자료형 큰걸로 바꿔줬음)

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

public class Main {
	
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		int N=Integer.parseInt(br.readLine());//도시의 개수
	    long[] road= new long[N-1];
	    long[] price=new long[N];
	    
		st = new StringTokenizer(br.readLine()," ");	
		for(int i=0;i<N-1;i++)
			road[i]=Integer.parseInt(st.nextToken());
		
		st = new StringTokenizer(br.readLine()," ");
		for(int i=0;i<N;i++)
			price[i]=Integer.parseInt(st.nextToken());
		
		//road[i]에서 road[i+1]로 이동하는데 최소 금액 찾기
		long min=Integer.MAX_VALUE;
		long sum=0;
		for(int i=1;i<N;i++) {
			min=Math.min(min,price[i-1]);
			sum+=road[i-1]*min;
		}
				
		System.out.println(sum);//제일 왼쪽에서 오른쪽으로 가는 최소 비용 
	}//main()
		
}//class Main
728x90
반응형

댓글