Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int a[10000],n,track,mx,k=0;
- vector<int>res,saiful;
- void cd(int depth,int sum)
- {
- if(sum>n)
- {
- return;
- }
- if(depth==track)
- {
- if(sum>mx)
- {
- res=saiful;
- mx=sum;
- cout<<"res vector"<<endl;
- for(int i=0; i<res.size(); i++)
- cout<<res[i]<<" ";
- cout<<endl;
- cout<<"Max value is: "<<mx<<endl;
- }
- return;
- }
- cout<<"sum is: "<<sum<<endl;
- cout<<endl;
- saiful.push_back(a[depth]);
- cout<<"saiful after push back"<<endl;
- for(int i=0; i<saiful.size(); i++)
- cout<<saiful[i]<<" ";
- cout<<endl;
- cd(depth+1,sum+a[depth]);
- saiful.pop_back();
- cout<<"saiful after pop back"<<endl;
- for(int i=0; i<saiful.size(); i++)
- cout<<saiful[i]<<" ";
- cout<<endl;
- cd(depth+1,sum);
- }
- int main()
- {
- int i,j;
- while(cin>>n>>track)
- {
- saiful.clear();
- res.clear();
- for(i=0; i<track; i++)
- {
- cin>>a[i];
- }
- mx=0;
- cd(0,0);
- int jog=0;
- for(i=0; i<res.size(); i++)
- {
- cout<<res[i]<<' ';
- jog+=res[i];
- }
- cout<<"sum:"<<jog<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement