Question: Google , Recently Asked Online Assessment Question (VIT ) | Special Subsequence | Distinct Subsequences | 1st October 2023
1
Entering edit mode

ADD COMMENTlink 14 months ago Delta 2.9k
0
Entering edit mode

1.) 

// Online C++ compiler to run C++ program online
#include <bits/stdc++.h>
using namespace std;

set<vector<int>> UTIL(int idx, vector<int>& arr){
    
    int n=arr.size();
    
    if(idx==n-1){
        set<vector<int>> s;
        s.insert({arr[idx],1});
        return s;
    }
    
    set<vector<int>> taken = UTIL(idx+1,arr);
    
    set<vector<int>> res = taken;
    res.insert({arr[idx],1});
    
    for(auto it : taken){
        
        int x = it[0];
        int y = it[1];
    
        res.insert({ ( pow(2,y)*arr[idx] + x ), y + 1});
        
    }
    
    // for(auto it : res)
    //  cout<<it[0]<<" "<<it[1]<<" dsd ";
     
     cout<<endl;
    
    return res;
    
}

int main() {
    // Write C++ code here
    int n;
    cin>>n;
    vector<int> arr(n);
    
    for(int i=0;i<n;i++)
       cin>> arr[i];
       
    set<vector<int>> temp = UTIL(0,arr);
    set<int> res;
    for(auto it: temp){
        res.insert(it[0]);
    }
    
    cout<<res.size();
    
}

ADD COMMENTlink 14 months ago unicornme707 • 20

Login before adding your answer.

Similar Posts
Loading Similar Posts