tuki2501

dptoys.cpp

Nov 5th, 2021
831
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.60 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define int long long
  5. const int N = 100005;
  6.  
  7. int a[N], f[N], s[N];
  8.  
  9. void solve() {
  10.     memset(a, 0, sizeof(a));
  11.     memset(s, 0, sizeof(s));
  12.     memset(f, 0x8f, sizeof(f)); f[0] = 0;
  13.     int n; cin >> n;
  14.     for (int i = 1; i <= n; i++) {
  15.         cin >> a[i];
  16.         s[i] = a[i] + s[i - 1];
  17.     }
  18.     int ans = 0;
  19.     for (int i = 1; i <= n + 3; i++) {
  20.         for (int j = 1; j <= 3; j++) if (i >= j * 2) {
  21.             f[i] = max(f[i], f[i - j * 2] + s[i - j] - s[i - j * 2]);
  22.         }
  23.         ans = max(ans, f[i]);
  24.     }
  25.     cout << ans << '\n';
  26. }
  27.  
  28. signed main() {
  29.     int t; cin >> t;
  30.     while (t--) solve();
  31. }
Advertisement
Add Comment
Please, Sign In to add comment