代码编织梦想

附上代码:

#include <stdlib.h>

int g_areas[4][2] = {{1,3}, {5,6}, {8,9}, {10,11}};
int g_row = 4;
int g_num = 5;
int Match(int m)
{
    int dis = m;
    int curloc = 1;
    int sum = 0;
    for (int i = 0; i < g_row; i++) {
        curloc = fmax(curloc, g_areas[i][0]);
        for (int loc = curloc; loc <= g_areas[i][1]; loc += dis) {
            sum++;
            curloc = loc;
        }
    }
    if (sum >= g_num) {
        return 1;
    }
    return 0;
}

int main()
{
    int l = 1;
    int r = 10 / 4 + 1;
    while (l < r) {
        int m = l + (r - l) / 2;
        if (Match(m) == 1) {
            l = m + 1;
        } else {
            r = m;
        }
    }
    if (l != 1) {
        return l - 1;
    }
    return -1;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44461899/article/details/131027876