fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. typedef long long int ll;
  7.  
  8. int main() {
  9. int n;
  10. cin >> n;
  11.  
  12.  
  13. vector<ll> req(n);
  14. vector<ll> stock(n);
  15. vector<ll> cost(n);
  16. ll budget;
  17.  
  18. for (int i = 0; i < n; i++) {
  19. cin >> req[i];
  20. }
  21.  
  22. for (int i = 0; i < n; i++) {
  23. cin >> stock[i];
  24. }
  25.  
  26. for (int i = 0; i < n; i++) {
  27. cin >> cost[i];
  28. }
  29.  
  30. // Total budget
  31. cin >> budget;
  32.  
  33. ll i = 1;
  34. ll answer = 0;
  35. bool stop = false;
  36.  
  37. // Linear search to find maximum possible items 'i'
  38. while (!stop) {
  39. ll sum = 0;
  40.  
  41. for (int j = 0; j < n; j++) {
  42. ll req_amount = req[j] * i;
  43. ll need = req_amount - stock[j];
  44.  
  45. if (need > 0) {
  46. sum += need * cost[j];
  47. }
  48. }
  49.  
  50. if (sum <= budget) {
  51. answer = i;
  52. i++; // Move to next count to test
  53. } else {
  54. stop = true; // Budget exceeded
  55. }
  56. }
  57.  
  58. cout << "Answer: " << answer << "\n";
  59.  
  60. return 0;
  61. }
Success #stdin #stdout 0s 5320KB
stdin
2
1
2
0
1
1
1
3
stdout
Answer: 1