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