fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int maxUnitCalculate(vector<int> req, vector<int> stock, vector<int> cost, long long budget){
  5. long long n = req.size();
  6.  
  7. long long answer = 0;
  8.  
  9. long long low = 0, high = 1e9;
  10. while(low <= high){
  11. long long mid = (high + low)/2;
  12.  
  13. long long sum = 0;
  14. for (int j = 0; j < n; j++){
  15. long long temp = (req[j] * mid )-stock[j];
  16. if(temp < 0) temp = 0;
  17.  
  18. sum += (temp * cost[j]);
  19.  
  20. }
  21.  
  22. if(sum <= budget){
  23. answer = mid;
  24. low = mid + 1;
  25. }
  26. else {
  27. high = mid-1;
  28. }
  29. }
  30.  
  31. return answer;
  32.  
  33.  
  34.  
  35. }
  36.  
  37. int main() {
  38. // your code goes here
  39. vector<int> req = {1, 2};
  40. vector<int> stock = {0, 1};
  41. vector<int> cost = {1, 1};
  42.  
  43. cout << maxUnitCalculate(req, stock, cost, 5);
  44.  
  45.  
  46. return 0;
  47. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
2