안녕 세상아,

[c++/백준] 13305 주유소 본문

백준

[c++/백준] 13305 주유소

돈 많은 백수가 되고싶다 2023. 5. 10. 16:58

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

 

13305번: 주유소

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

www.acmicpc.net

min값을 가장 크게 두고 계속 작은 값 갱신하면서 곱해주면 된다. 

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

long long int street[100001];	//도시 간 거리
long long int oil[100001];		//리터 당 가격

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

	int n;	
	cin >> n;
	long long int sum = 0;

	for (int i = 0; i < n - 1; i++) {
		cin >> street[i];
	}
	for (int i = 0; i < n; i++) {
		cin >> oil[i];
	}
	long long int min = 1000000001;

	for (int i = 0; i < n; i++) {
    	//min값 갱신하면서 곱해주기
		if (oil[i] < min) {
			min = oil[i];
		}
		sum += min * street[i];
	}
	cout << sum;
}

쉽게 풀어서 딱히 설명할게 없음

'백준' 카테고리의 다른 글

[c++/백준] 9375 패션왕 신해빈  (0) 2023.05.11
[c++/백준] 11726 2*n 타일링  (0) 2023.05.10
[c++/백준] 15651 N과 M (3)  (1) 2023.05.10
[c++/백준] 1021 회전하는 큐  (0) 2023.05.09
[c++/백준] 11659 구간 합 구하기 4  (1) 2023.05.09