Untitled
plain_text
2 months ago
754 B
7
Indexable
Never
#include<bits/stdc++.h> using namespace std; int func(int indx, vector<int> &dp, set<int> &st, vector<int>arr) { if(indx<0) { return 0; } int nottake=0+func(indx-1,dp,st,arr); int take=0; if(st.count(arr[indx])!=1) { st.insert(arr[indx]-1); st.insert(arr[indx]+1); take=arr[indx]+func(indx-1,dp,st,arr); } return max(nottake,take); } void solve() { int n; cin>>n; vector<int>arr; for(int i=0;i<n;i++) { int x; cin>>x; arr.push_back(x); } vector<int>dp(n,-1); set<int>st; cout<<func(n-1,dp,st,arr); } int main() { int t; cin>>t; while(t--) { solve(); } }