力扣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;
      }
  };
相关推荐
YuTaoShao4 分钟前
【LeetCode 每日一题】865. 具有所有最深节点的最小子树——(解法一)自顶向下
算法·leetcode·职场和发展
什么都不会的Tristan4 分钟前
HttpClient
java·微信登录
隐退山林6 分钟前
JavaEE:多线程初阶(二)
java·开发语言·jvm
乌暮6 分钟前
JavaEE初阶---《JUC 并发编程完全指南:组件用法、原理剖析与面试应答》
java·开发语言·后端·学习·面试·java-ee
6***A66310 分钟前
SpringSecurity+jwt实现权限认证功能
java
野生技术架构师10 分钟前
Spring Boot 4.0 预览版深度解析
java·spring boot·后端
左绍骏12 分钟前
01.学习预备
android·java·学习
W001hhh14 分钟前
260111
java·数据库
阿里巴巴P8资深技术专家15 分钟前
基于 Spring Boot + JODConverter 实现文档在线转换为 PDF 功能
java
寻星探路18 分钟前
【算法专题】哈希表:从“两数之和”到“最长连续序列”的深度解析
java·数据结构·人工智能·python·算法·ai·散列表