#include #include #include using namespace std; using namespace __gnu_pbds; template using ordered_set = tree, rb_tree_tag, tree_order_statistics_node_update>; // use when u need indexing in sets like (when you need lower upper bound while frequently updating set) // idx.order_of_key(value) for nums #define mp make_pair #define pb push_back #define vi vector #define all(a) a.begin(), a.end() #define allr(a) a.rbegin(), a.rend() #define mod 1000000007 #define mod2 998244353 const int inf = 1e17 + 1; #define forn(i, a, b) for (int i = a; i < b; i++) #define forr(i, a, b) for (int i = a; i >= b; i--) #define input(vec, n) for(int z = 0; z < (n); z++) cin >> vec[z]; int solv_(int idx,vi &dp,int n,vi &arr){ if(idx>=n) return 0; else if(dp[idx]!=-1) return dp[idx]; return dp[idx]=max(arr[idx]+solv_(idx+2,dp,n,arr),solv_(idx+1,dp,n,arr)); } void solve() { int n; cin>>n; vi arr(n),dp(n,-1); forn(i,0,n){ cin>>arr[i]; } cout<> t; while (t--) { solve(); } return 0; }