ガソリンスタンド


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

int main(void) 
{ 
	int countCity; 
	cin >> countCity; 
	vector<int> road(countCity - 1); 
	for (int i = 0; i < countCity - 1; i++) 
		cin >> road[i]; 

	vector<int> priceOil(countCity); 
	for (int i = 0; i < countCity; i++) 
		cin >> priceOil[i]; 
	
	long long minimumCost = 0; 
	int currentOilPrice = 0; 
	for (int i = 0; i < countCity - 1; i++) //마지막은 할 필요 없음
	{
		if (i == 0)	currentOilPrice = priceOil[0];//맨처음은 무조건 이가격에 사야댐
		else//만약, 더 싼 가격이 나오면 더 싼가격으로 바꿔서 간다. //더 싼 가격이 안나오면 기존의 가격을 유지한다
		{
			if (priceOil[i] < currentOilPrice)		currentOilPrice = priceOil[i];
		}
		
		minimumCost += ((long long)currentOilPrice * road[i]); //더싼 가격 나오면 바꿔가고, 안나오면 기존 가격 유지한다.
	} 
	cout << minimumCost;
	return 0;
}
この問題は答えられなかった.
中には重要な考えがある.
1.先端を含まない
2.もっと安い値段があれば、交換してから行きます
もっと安い価格がなければ、
2番目の問題の内容を理解し、