力扣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;
      }
  };
相关推荐
余额瞒着我当琳1 分钟前
C++--vector第二讲:手写 C++ STL:vector 源码剖析与迭代器失效分析
android·java·c++
一只积极向上的小咸鱼2 分钟前
分词器tokenizer
算法·llm
资源大佬星 课it7 分钟前
黑马 Java+AI新版V16零基础就业班视频课程百度网盘下载
java·开发语言·人工智能
Elsa️74610 分钟前
leetcode 14.最长公共前缀
算法·leetcode·职场和发展
二十雨辰14 分钟前
[Java]-微服务面试题
java·开发语言·微服务
不会代码的小猴14 分钟前
6. Qt网络编程
开发语言·c++·笔记·qt·算法
我命由我1234515 分钟前
Compose Codelab 学习 - Compose 中的基本布局
android·java·java-ee·kotlin·android studio·android-studio·android runtime
Zguigo26 分钟前
树的前序|中序|后序遍历【使用栈实现】
数据结构·算法
莫得感情 o37 分钟前
并发 11 · 同步工具类
java·并发
zhanghaha131443 分钟前
HTML系列教程:4_什么是 HTML 元素(零基础超详细讲解)
前端·算法·html