怎么TLE了
  • 板块学术版
  • 楼主HYQ1234
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/4/22 21:17
  • 上次更新2023/10/23 17:45:15
查看原帖
怎么TLE了
926328
HYQ1234楼主2023/4/22 21:17

题目传送门 我代码为什么只得了个36 扣的分全TLE

#include <iostream>
using namespace std;
const int N = 1e6;
int n = 0, k = 0;
struct Chocolate {
    int height;
    int width;
} a[N];

int main() {
    ios::sync_with_stdio(false);
    cin >> n >> k;
    for (int i = 0; i < n; ++i)
        cin >> a[i].height >> a[i].width;
    int left = 0, right = N;
    int ans = 0;
    int mid = 0;
    while (left < right) {
        mid = left + (right - left) / 2;
        int num = 0;
        for (int i = 0; i < n; ++i)
            num += (a[i].height / mid) * (a[i].width / mid);
        if (num >= k)
            left = ans = mid; 
        else
            right = mid - 1;
    }
    cout << ans;
    return 0;
}
// 对于第i个巧克力 正方形的边长是mid的数量是 (a[i].height / mid) * (a[i].width /
// mid)
2023/4/22 21:17
加载中...