Untitled
unknown
c_cpp
4 years ago
991 B
2
Indexable
#include <iostream> using namespace std; const int maxn = 100005; int n; int niza[maxn][3]; int memo[maxn][4]; int main() { cin >> n; for(int i = 0; i < n; i++) { for(int j = 0; j < 3; j++) { cin >> niza[i][j]; memo[i][j] = -2e9; } } memo[0][0] = niza[0][0]; memo[0][1] = niza[0][1]; memo[0][2] = niza[0][2]; for(int i = 1; i < n; i++) { for(int prev_activity = 0; prev_activity < 3; prev_activity++) { for(int next_activity = 0; next_activity < 3; next_activity++) { if(prev_activity != next_activity) { memo[i][next_activity] = max(memo[i][next_activity], memo[i - 1][prev_activity] + niza[i][next_activity]); } } } } int najgolem = 0; najgolem = max(najgolem, memo[n - 1][0]); najgolem = max(najgolem, memo[n - 1][1]); najgolem = max(najgolem, memo[n - 1][2]); cout << najgolem << endl; return 0; }
Editor is loading...