本文主要是介绍AWing:1227.分巧克力 (蓝桥杯),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#include<iostream>
using namespace std;const int N =1e5 + 10;
int h[N] = {0},w[N] = {0};
int n,k;bool check(int mid){int ans = 0; // ans 统计蛋糕以mid为边长 可以划分的数量for(int i = 0;i < n;i++){ans += (h[i] / mid) * (w[i] / mid);if(ans >= k) return true;}return false;
}int main(){ios::sync_with_stdio(0),cin.tie(0);cin >> n >> k;for(int i = 0;i < n;i++) cin >> h[i] >> w[i];int l = 1,r = 1e5; // 蛋糕最大的边长为右边界 while(l < r){int mid = l + r + 1 >> 1;if(check(mid)) l = mid; // 如果mid可以满足 还可以增加else r = mid - 1;}cout << l << endl;return 0;
}
这篇关于AWing:1227.分巧克力 (蓝桥杯)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!