백준
[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;
}
쉽게 풀어서 딱히 설명할게 없음