Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int st[11],k,n,i,as,ev,a[101],c[101],s,v[101],s1;
- void init()
- {
- st[k]=-1;
- }
- int succesor()
- {
- if(st[k]<c[k] and k<=n)
- {
- st[k]++;
- return 1;
- }
- return 0;
- }
- int valid()
- {
- s=0;
- for(i=1;i<=k;i++)
- s=s+st[i]*v[i];
- return s<=s1;
- }
- int solutie()
- {
- return k==n and s==s1;
- }
- void tipar()
- {
- for(i=1;i<=n;i++)
- cout<<st[i]<<" ";
- cout<<endl;
- }
- int main()
- {cin>>n>>s1;
- for(i=1;i<=n;i++)
- cin>>v[i];
- for(i=1;i<=n;i++)
- cin>>c[i];
- k=1;
- init();
- while(k)
- {
- do
- {
- as=succesor();
- if(as)
- ev=valid();
- }
- while(!(as&&ev||!as));
- if(as)
- if(solutie())
- {tipar();
- return 0;}
- else
- {
- k++;
- init();
- }
- else
- k--;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement