-
반응형
https://www.acmicpc.net/problem/13305
13305번: 주유소
표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1
www.acmicpc.net
-풀이-
싼 가격의 도시를 만날때까지 현재까지 만나왔던 도시중 가장 싼 값의 기름을 이용하여 도로를 주행한다. 더 값싼 도시를 만난다면, 가장 싼 값의 기름을 갱신시켜준뒤, 도로를 주행하면된다.
-시간복잡도-
O(N)
-코드-
#include <iostream> #include<algorithm> using namespace std; int road[1000001] = { 0 }; int n; long long min_cost = 1000000001; long long result = 0; int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n; for (int i = 0; i < n - 1; i++) { cin >> road[i]; } for (int i = 0; i < n; i++) { long long city; cin >> city; min_cost = min(min_cost, city); result += min_cost * road[i]; } cout << result; return 0; }
반응형'문제풀이 > 백준oj' 카테고리의 다른 글
[백준OJ] 15961번 회전 초밥 (0) 2021.08.02 [백준OJ] 12978번 스크루지 민호 2 (0) 2021.08.01 [백준OJ] 18769번 그리드 네트워크 (0) 2021.07.29 [백준OJ] 7490번 0 만들기 (0) 2021.07.26 [백준OJ] 18809번 Gaaaaaaaaaarden (0) 2021.07.24 댓글