问题 3729 --切割绳子(程序填空)

3729: 切割绳子(程序填空)★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 545  解决: 351
[提交][状态][命题人:]

题目描述

有n条绳子,每条绳子的长度已知且均为正整数。绳子可以以任意正整数长度切割,但不可以连接。

现在要从这些绳子中切割出m条长度相同的绳段,求绳段的最大长度是多少。

输入

第一行是一个不超过100的正整数n,

第二行是n个不超过1000000的正整数,表示每条绳子的长度,

第三行是一个不超过100000000d的正整数m。

输出

绳段的最大长度,若无法切割,输出Failed。

输入样例

5
1 2 3 4 5
6
输出样例

2

#include <iostream>
using namespace std;
int n, m, i,lbound, ubound, mid, count;
int len[100];  // 绳子长度
int main()
{
    cin >> n;
    count = 0;
    for (i = 0; i < n; i++)
    {
        cin >> len[i];
        ____(1)_____;
    }
    cin >> m;
    if(____(2)______)
    {
        cout << "Failed" <<endl;
        return 0;
    }
    lbound = 1;
    ubound = 1000000;
    while (______(3)__________)
    {
        mid = ______(4)__________;
        count = 0;
        for (i = 0; i < n; i++)
            _____(5)________;
        if (count < m)
            ubound = mid - 1;
        else
            lbound = mid;
    }
    cout << lbound << endl;
    return 0;
}


输入


输出


提示

只需输出答案即可,一共5行,每行一个大写字母

来源

[提交][状态]