페이지

13305번: 주유소

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

$O(n)$

1..i번 주유소를 방문했다면 i번과 i+1번 주유소 사이 도로는 1..i번 주유소 중 가장싼 기름을 이용해 지나가면 된다.

#include<cstdio>
long long res;
int n, mini, d[99999];
int main() {
    scanf("%d", &n);
    for (int i = 0; i < n - 1; i++) scanf("%d", d + i);
    scanf("%d", &mini);
    for (int i = 0, x; i < n - 1; i++) {
        res += 1LL * mini*d[i];
        scanf("%d", &x);
        if (mini > x) mini = x;
    }
    printf("%lld", res);
    return 0;
}

댓글 없음 :

댓글 쓰기