力扣2861.最大合金数

力扣2861.最大合金数

  • 对每一台机器都做一次二分答案

cpp 复制代码
  class Solution {
  public:
      int maxNumberOfAlloys(int n, int k, int budget, vector<vector<int>>& composition, vector<int>& stock, vector<int>& cost) {
          int res = 0;
          int mx = ranges::min(stock) + budget;
          for(auto &comp : composition)
          {
              auto check = [&](long long num) -> bool
              {
                  long long ans=0;
                  for(int i=0;i<n;i++)
                      if(stock[i] < comp[i] * num)
                      {
                          ans += (comp[i] * num - stock[i]) * cost[i];
                          if(ans > budget) return false;
                      }
                  return true;
              };
              int l = res,r = mx + 1;
              while(l < r)
              {
                  int mid = l + r + 1>> 1;
                  if(check(mid)) l = mid;
                  else r = mid - 1;
              }
              res = l;
          }
          return res;
      }
  };
相关推荐
拉不动的猪5 分钟前
Token无感刷新全流程(Vue + Axios + Node.js(Express))
java·javascript·vue.js
m0_6398171517 分钟前
基于springboot个人云盘管理系统【带源码和文档】
java·spring boot·后端
大头an24 分钟前
Spring事务隔离级别全解析:从读未提交到序列化
java
努力学算法的蒟蒻30 分钟前
day11(11.11)——leetcode面试经典150
算法·leetcode·面试
im_AMBER32 分钟前
Leetcode 51
笔记·学习·算法·leetcode·深度优先
做怪小疯子39 分钟前
LeetCode 热题 100——哈希——字母异位词分组
算法·leetcode·哈希算法
大隐隐于野1 小时前
从零开始理解和编写LLM中的KV缓存
java·缓存·llm
DKunYu1 小时前
1.多线程初阶
java·开发语言
Einsail1 小时前
贪心算法,优先队列(大小根堆使用)
算法·贪心算法
小欣加油1 小时前
leetcode 474 一和零
c++·算法·leetcode·职场和发展·动态规划