AC

许诺  •  7天前


#include <iostream>
#include <algorithm>

using namespace std; int main() {

int n;
cin >> n;
int red[n], green[n], blue[n];
for (int i = 0; i < n; i++) cin >> red[i];
for (int i = 0; i < n; i++) cin >> green[i];
for (int i = 0; i < n; i++) cin >> blue[i];
int dp[n][3];
dp[0][0] = red[0];
dp[0][1] = green[0];
dp[0][2] = blue[0];
for (int i = 1; i < n; i++) {
    dp[i][0] = min(dp[i-1][1], dp[i-1][2]) + red[i];
    dp[i][1] = min(dp[i-1][0], dp[i-1][2]) + green[i];
    dp[i][2] = min(dp[i-1][0], dp[i-1][1]) + blue[i];
}

int ans = min({dp[n-1][0], dp[n-1][1], dp[n-1][2]});
cout << ans << endl;
return 0;

}


评论:

请先登录,才能进行评论