【每日一题】华华给月月准备礼物

华华给月月准备礼物

https://ac.nowcoder.com/acm/problem/23049

Solution

为长度取时,能得到的木棍数。
因为长度为的木棍最多能分成根长度为的木棍,
所以
显然这个函数是单调下降的,所以可以二分找到最大的满足

Code

#include <bits/stdc++.h>
using namespace std;

using ll = long long;

int main() {
  cin.sync_with_stdio(false), cin.tie(nullptr);

  int n, k;
  cin >> n >> k;
  vector<int> a(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  int low = 0, high = 1000000000;
  while (low < high) {
    int mid = (low + high + 1) / 2;
    ll sum = 0;
    for (int i = 0; i < n; i++) {
      sum += a[i] / mid;
    }
    if (sum >= k) {
      low = mid;
    } else {
      high = mid - 1;
    }
  }
  cout << low << "\n";
}
全部评论

相关推荐

“校招”、“3-5年经验”
xiaolihuam...:逆向工程不是搞外挂的吗,好像现在大学生坐牢最多的就是诈骗罪和非法侵入计算机系统罪,发美金,还居家办公,就是怕被一锅端,
点赞 评论 收藏
分享
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务