Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2021
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #define ll long long
  4. #define vi vector<int>
  5. #define vii vector<ll>
  6. using namespace std;
  7.  
  8. void file_io()
  9. {
  10. #ifndef ONLINE_JUDGE
  11.     freopen("input.txt", "r", stdin);
  12.     freopen("output.txt", "w", stdout);
  13. #endif
  14.     ios_base::sync_with_stdio(0);
  15.     cin.tie(0);
  16.     cout.tie(0);
  17. }
  18.  
  19. int main()
  20. {
  21.     file_io();
  22.     ll n;
  23.     cin >> n;
  24.     vector<vii> a(n, vii(3));
  25.     for (ll i = 0; i < n; i++)
  26.     {
  27.         for (ll j = 0; j < 3; j++)
  28.         {
  29.             cin >> a[i][j];
  30.         }
  31.     }
  32.     vii dp(n, -1);
  33.     ll tmp = -1;
  34.     dp[0] = max(a[0][0], max(a[0][1], a[0][2]));
  35.     if (dp[0] == a[0][0])
  36.         tmp = 0;
  37.     else if (dp[0] == a[0][1])
  38.         tmp = 1;
  39.     else
  40.         tmp = 2;
  41.     for (ll i = 1; i < n; i++)
  42.     {
  43.         ll tmp2 = -1;
  44.         for (ll j = 0; j < 3; j++)
  45.         {
  46.             if (tmp == j)
  47.                 continue;
  48.             if (dp[i] < dp[i - 1] + a[i][j])
  49.             {
  50.                 tmp2 = j;
  51.                 dp[i] = dp[i - 1] + a[i][j];
  52.             }
  53.         }
  54.         tmp = tmp2;
  55.     }
  56.     cout << dp[n - 1] << endl;
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement