알고리즘/백준

[Java] 백준 13305 주유소 - 실버4

fladi 2023. 7. 12. 18:13
728x90

 

 

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

 

13305번: 주유소

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

www.acmicpc.net

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

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

    StringTokenizer st = new StringTokenizer(br.readLine(), " ");
    List<Long> roadList = new ArrayList<>();
    while (st.hasMoreTokens()) {
      roadList.add(Long.parseLong(st.nextToken()));
    }

    st = new StringTokenizer(br.readLine(), " ");
    List<Long> city = new ArrayList<>();
    while (st.hasMoreTokens()) {
      city.add(Long.parseLong(st.nextToken()));
    }

    Long result = 0L;
    Long pay = city.get(0);
    for (int i = 0; i < cityCnt-1; i++) {
      result += pay * roadList.get(i);
      if (city.get(i+1) < pay)
        pay = city.get(i+1);
    }

    System.out.println(result);
  }
}

 

 

 

 

 

 

728x90