fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int N=22;
  5. int n, c[N], v[N];
  6. long long ans, S;
  7.  
  8. void btrack(int idx, long long cost, long long val)
  9. {
  10. if(idx>n){
  11. if(cost<=S) ans=max(ans, val);
  12. return;
  13. }
  14. btrack(idx+1, cost+c[idx], val+v[idx]); //chọn vị trí idx
  15. btrack(idx+1, cost, val); //không chọn vị trí idx
  16. }
  17.  
  18. signed main()
  19. {
  20. ios::sync_with_stdio(0);
  21. cin.tie(0); cout.tie(0);
  22.  
  23. cin >> n >> S;
  24. for(int i=1;i<=n;++i)
  25. cin >> c[i] >> v[i];
  26. btrack(1, 0, 0);
  27. cout << ans;
  28. return 0;
  29. }
  30.  
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Standard output is empty