P1873 [COCI 2011/2012 #5] EKO / 砍树

例题

  • 二分答案
  • 解题的时候往往会考虑枚举答案然后检验枚举的值是否正确。若满足单调性,则满足使用二分法的条件。把这里的枚举换成二分,就变成了「二分答案」
  • 暴力1到1e9枚举答案 会TLE,在1到1e9区间上进行二分作为答案
#include <bits/stdc++.h>
#define endl '\n'
#define int long long 
#define INF 0x3f3f3f3f3f
const int N = 1000010;
using namespace std;
int a[N];
int n, m;
//return true :mid值小 需要网上调调
//return false:mid值大 需要往下调调 要不不够sum
bool check(int k) {  // 检查可行性,k 为锯片高度
  int sum = 0;
  for (int i = 1; i <= n; i++)       
    if (a[i] > k)                  
      sum += (a[i] - k); 
  return sum >= m;                 
}

int find() {
  int l = 1, r = 1e9 + 1;   // 因为是左闭右开的,所以 10^9 要加 1
  while (l + 1 < r) {       
    int mid = (l + r) / 2;  
    if (check(mid))         
      l = mid;              // 升高锯片高度
    else
      r = mid;  // 否则降低锯片高度
  }
  return l;  // 返回左边值
}

int main() {
  cin >> n >> m;
  for (int i = 1; i <= n; i++) cin >> a[i];
  cout << find();
  return 0;
}

相关推荐

  1. P1873 [COCI 2011/2012 #5] EKO /

    2024-03-25 09:02:03       38 阅读
  2. EKO /

    2024-03-25 09:02:03       30 阅读
  3. <span style='color:red;'>砍</span><span style='color:red;'>树</span>c++

    c++

    2024-03-25 09:02:03      34 阅读
  4. P6492 [COCI2010-2011#6] STEP 题解

    2024-03-25 09:02:03       42 阅读
  5. P2036 [COCI2008-2009 #2] PERKET题解

    2024-03-25 09:02:03       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-25 09:02:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-25 09:02:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-25 09:02:03       82 阅读
  4. Python语言-面向对象

    2024-03-25 09:02:03       91 阅读

热门阅读

  1. AI大模型的训练与优化

    2024-03-25 09:02:03       38 阅读
  2. 第三十二章 配置服务器访问

    2024-03-25 09:02:03       40 阅读
  3. 大数据实时计算的Windows功能?

    2024-03-25 09:02:03       37 阅读
  4. 【生产力】VSCode 插件 Draw.io Integration

    2024-03-25 09:02:03       44 阅读
  5. 面试(一)

    2024-03-25 09:02:03       32 阅读
  6. 商业技术成功案例

    2024-03-25 09:02:03       32 阅读
  7. Spring Boot 加载配置文件的优先级

    2024-03-25 09:02:03       36 阅读