今日题目: 木材加工
题目分析
题目难度:⭐️⭐️
题目涉及算法:数学,奥数,二分。
ps:有能力的小伙伴可以尝试优化自己的代码或者一题多解,这样能综合提升自己的算法能力
题解报告:
1.思路
开longlong 简单二分
2.代码
#include<bits/stdc++.h> using namespace std; const int N = 100010; int L[N]; int n,k; bool check(int x) { long long sum = 0; for(int i=0;i<n;i++) { sum += L[i]/x; } return sum>=k; } int main() { cin>>n>>k; int r = 0; for(int i=0;i<n;i++) { cin>>L[i]; if(r<L[i]) { r = L[i]; } } int l=0; while(l<r) { int mid = l + r + 1 >> 1; if(check(mid)) { l = mid; } else { r = mid - 1; } } cout<<l; return 0; }