Advertisement
prakharvk

maximum subsequence sum such that no two elemnts are adjacent(n^2 solution, non optimal)

Jun 22nd, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.68 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int maxSum(vector<int>&v){
  4.     int n=v.size();
  5.     if(n==0)
  6.         return 0;
  7.     vector<int>dp(n);
  8.     for(int i=0;i<n;i++){
  9.         dp[i]=v[i];
  10.     }
  11.     int ans=v[0];
  12.     for(int i=1;i<n;i++){
  13.         for(int j=0;j<i-1;j++){
  14.             if(v[i]+dp[j]>dp[i]){
  15.                 dp[i]=dp[j]+v[i];
  16.             }
  17.         }
  18.        
  19.         ans=max(ans,dp[i]);
  20.         // cout<<dp[i]<<" "<<ans<<endl;
  21.        
  22.     }
  23.     return ans;
  24. }
  25.  
  26. int main(){
  27.     int t;
  28.     cin>>t;
  29.     while(t--){
  30.         int n;
  31.         cin>>n;
  32.         vector<int>v(n);
  33.         for(int i=0;i<n;i++){
  34.             cin>>v[i];
  35.         }
  36.         cout<<maxSum(v)<<endl;
  37.     }
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement