func_code_string: #include <bits/stdc++.h>   using namespace std;   namespace IO {   template <typename T>   inline void read(T &x) {     x = 0;     long long f = 1;     char ch = getchar();     while (!isdigit(ch)) {       if (ch ==  - ) f = -f;       ch = getchar();     }     while (isdigit(ch)) {       x = x * 10 + ch - 48;       ch = getchar();     }     x = x * f;   }   }  // namespace IO   using namespace IO;   const long long maxn = 200000;   long long dp[maxn + 10][4];   long long a[maxn + 10];   void DP(long long &x, long long y) { x = max(x, y); }   signed main() {     long long _;     read(_);     while (_--) {       long long n;       read(n);       for (long long i = 0; i <= n; i++) {         dp[i][0] = dp[i][1] = dp[i][2] = 0;         a[i] = 0;       }       for (long long i = 0; i < n; i++) {         read(a[i]);       }       for (long long i = 0; i < n; i++) {         if (i % 2 == 1) {           DP(dp[i + 1][0], dp[i][0]);           if (i + 2 <= n) DP(dp[i + 2][1], max(dp[i][1] + a[i], dp[i][0] + a[i]));           DP(dp[i + 1][2], max(dp[i][1], max(dp[i][0], dp[i][2])));         } else {           DP(dp[i + 1][0], dp[i][0] + a[i]);           if (i + 2 <= n) DP(dp[i + 2][1], max(dp[i][1], dp[i][0]) + a[i + 1]);           DP(dp[i + 1][2], max(dp[i][1], max(dp[i][0], dp[i][2])) + a[i]);         }       }       cout << max(dp[n][1], max(dp[n][2], dp[n][0])) << endl;     }   }   