본문 바로가기
백준

13305번: 주유소

by bingual 2022. 2. 15.
반응형

 

 

 

 

 

 

풀이

 

기름값이 낮을때에만 주유를 한다. 결과값은 2^31-1을 초과할 수 있으므로 2^63-1까지의 범위를 가지는 정수형 long을 사용한다.

 

 

 

 

 

자바

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[] dist = new long[n-1];
		long[] cost = new long[n];
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");

		for (int i = 0; i < dist.length; i++) {
			dist[i] = Integer.parseInt(st.nextToken());
		}

		st = new StringTokenizer(br.readLine(), " ");
		for (int i = 0; i < cost.length; i++) {
			cost[i] = Integer.parseInt(st.nextToken());
		}

		long result = 0;
		long min = cost[0];

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

 

 

 

 

 

파이썬

n = int(input())

dist = list(map(int, input().split()))
cost = list(map(int, input().split()))

result = 0
min = cost[0]

for i in range(n-1):

    if cost[i] < min:
        min = cost[i]
    
    result += (min * dist[i])

print(result)

 

'백준' 카테고리의 다른 글

1026번: 보물  (0) 2022.02.16
1789번: 수들의 합  (0) 2022.02.16
14659번: 한조서열정리하고옴ㅋㅋ  (0) 2022.02.15
16435번: 스네이크버드  (0) 2022.02.15
17224번: APC는 왜 서브태스크 대회가 되었을까?  (0) 2022.02.15