diff --git "a/\353\260\261\354\244\200/Silver/13305.\342\200\205\354\243\274\354\234\240\354\206\214/README.md" "b/\353\260\261\354\244\200/Silver/13305.\342\200\205\354\243\274\354\234\240\354\206\214/README.md" index 669908b..75c8848 100644 --- "a/\353\260\261\354\244\200/Silver/13305.\342\200\205\354\243\274\354\234\240\354\206\214/README.md" +++ "b/\353\260\261\354\244\200/Silver/13305.\342\200\205\354\243\274\354\234\240\354\206\214/README.md" @@ -4,7 +4,7 @@ ### 성능 요약 -메모리: 3196 KB, 시간: 12 ms +메모리: 2804 KB, 시간: 20 ms ### 분류 @@ -12,7 +12,7 @@ ### 제출 일자 -2024년 2월 23일 18:07:04 +2024년 2월 23일 18:21:30 ### 문제 설명 diff --git "a/\353\260\261\354\244\200/Silver/13305.\342\200\205\354\243\274\354\234\240\354\206\214/\354\243\274\354\234\240\354\206\214.cc" "b/\353\260\261\354\244\200/Silver/13305.\342\200\205\354\243\274\354\234\240\354\206\214/\354\243\274\354\234\240\354\206\214.cc" index 98191df..9f6d285 100644 --- "a/\353\260\261\354\244\200/Silver/13305.\342\200\205\354\243\274\354\234\240\354\206\214/\354\243\274\354\234\240\354\206\214.cc" +++ "b/\353\260\261\354\244\200/Silver/13305.\342\200\205\354\243\274\354\234\240\354\206\214/\354\243\274\354\234\240\354\206\214.cc" @@ -1,6 +1,7 @@ #include #include #include +#include using namespace std; int main() @@ -11,22 +12,24 @@ int main() int n; vector road; vector costs; - vector dp; cin >> n; road.assign(n, 0); costs.assign(n, 0); - dp.assign(n, 0); + + long long total = 0; for (int i = 0; i < n - 1; i++) { cin >> road[i]; } for (int i = 0; i < n; i++) { cin >> costs[i]; } - int minCost = 1000000001; + long long minCost = 1000000001; for (int i = 1; i < n; i++) { - minCost = min(costs[i-1], minCost); - dp[i] = dp[i-1] + (minCost * road[i-1]); + if (minCost > costs[i-1]) { + minCost = costs[i-1]; + } + total += minCost * road[i-1]; } - cout << dp[n-1]; + cout << total; return 0; }