반응형

문제 링크 : 13305번: 주유소 (acmicpc.net)

 

13305번: 주유소

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

www.acmicpc.net

> 풀이

 

그리디 알고리즘

 

#include <bits/stdc++.h>
using namespace std;

int city[100000];
int dist[100000];
int N;

int main(void) {
        scanf("%d", &N);
        for (int i = 0; i < N - 1; i++) scanf("%d", &dist[i]);
        for (int i = 0; i < N; i++) scanf("%d", &city[i]);

        int _max = INT_MAX;
        long long res = 0;

        for (int i = 0; i < N -1; i++) {
                if (city[i] < _max)
                        _max = city[i];
                res += (long long)_max * dist[i];
        }
        printf("%lld", res);
        return 0;
}
반응형

+ Recent posts