$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; }
댓글 없음 :
댓글 쓰기