[C++] 백준 13305. 주유소

멋진감자·2025년 2월 19일
0

알고리즘

목록 보기
94/105
post-thumbnail

🌽 문제

🥕 입출력

🥔 풀이

이미 지나친 주유소 중 가장 저렴한 곳에서 주유하기를 반복한다.
이 때 첫 번째 주유소의 경우 지나친 곳이 없으므로,
첫 번째 주유소 비용을 최소 주유 비용으로 초기화해야 한다.
마지막으로 서브태스크 통과를 위해 long long을 적절히 사용하자.

🥬 코드

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

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

	int n;
	cin >> n;
	vector<int> dist(n - 1);
	vector<int> price(n);
	for (int i = 0; i < n - 1; i++) cin >> dist[i];
	for (int i = 0; i < n; i++) cin >> price[i];

	long long cost = 0;
	long long mini = price[0];
	for (int i = 0; i < n - 1; i++) {
		if (price[i] < mini) mini = price[i];
		cost += mini * dist[i];
	}
	cout << cost;

	return 0;
}

🥜 채점

profile
난멋져

0개의 댓글

관련 채용 정보