Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save codebyAbhishekBharti/ea7169cf4a9d5c70b41348aaf631fd4d to your computer and use it in GitHub Desktop.
Save codebyAbhishekBharti/ea7169cf4a9d5c70b41348aaf631fd4d to your computer and use it in GitHub Desktop.
class Solution {
long long int ans =0,val,n;
int mod=1e9+7;
public:
void solver(vector<int>& nums,int i,int mini, int maxi){
if(i>=n){
if(mini!=INT_MAX and maxi!=INT_MIN){
if(mini+maxi<=val){ans++;}
}
return;
}
solver(nums,i+1,mini,maxi);
mini=min(mini,nums[i]);
maxi=max(maxi,nums[i]);
solver(nums,i+1,mini,maxi);
}
int numSubseq(vector<int>& nums, int target) {
n =nums.size();
val=target;
int mini=INT_MAX;
int maxi=INT_MIN;
vector<vector<int>>dp(n+1,vector<int>(n+1,-1));
solver(nums,0,mini,maxi);
return ans%mod;
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment