cpp) 백준 13305: 주유소
본문 바로가기
코딩 테스트/백준 (C++, Python)

cpp) 백준 13305: 주유소

by NEWSUN* 2023. 6. 27.

Problem

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

 

13305번: 주유소

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

www.acmicpc.net

 

 

Solution

#include<iostream>

using namespace std;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);

    long long dist[100001];   // 도로의 길이
    long long price[100001];  // 주유소 기름 가격

    int n;            		// 도시의 개수
    long long total;        // 총 비용 = 정답값
    long long min_price;    // 최소 비용
    cin >> n;

    // dist 입력 받기
    for(int i=0;i<n-1;i++){
        cin >> dist[i];
    }

    // price 입력 받기
    for(int i=0;i<n;i++){
        cin >> price[i];
    }

    total += dist[0] * price[0];   // 필수 요건
    min_price = price[0];          // 최솟값 초기화

    for(int i=1;i<n-1;i++){
        if (min_price>price[i]){
            min_price = price[i];
            total += min_price * dist[i];
        } else {
            total += min_price * dist[i];
        }
    }

    cout << total << '\n';

   return 0;
}

 

 

Reference

https://wooono.tistory.com/431

 

[Greedy] 백준 13305번 "주유소" C++ 풀이

문제 링크 https://www.acmicpc.net/problem/13305 풀이 예제 그림 문제는, 현재 도시의 주유 가격이 다음 도시의 주유 가격보다 비싼지, 저렴한지에 따라 나뉘게 됩니다. 현재 주유소보다 다음 주유소가 싸

wooono.tistory.com

 

'코딩 테스트 > 백준 (C++, Python)' 카테고리의 다른 글

cpp) 백준 1874: 스택 수열  (2) 2023.06.29
cpp) 백준 2805: 나무 자르기  (0) 2023.06.27
cpp) 백준 1764: 듣보잡  (0) 2023.06.25
cpp) 백준 10816: 숫자 카드 2  (2) 2023.06.17
cpp) 백준 1920: 수 찾기  (0) 2023.06.15