分割绳子

现有 NN 条绳子,它们的长度分别为 L_1L1L_2L2,……,L_nLn,如果从它们中切割出 KK 条长度相同的绳子,这 KK 条绳子每条最长能有多长?

输入格式

输入共有两行,第一行包含两个正整数 NN 和 KK1\leq N\leq 10001N10001\leq K\leq 10001K1000),用一个空格分隔;第二行包含 NN 个数,依次表示 NN 条绳子的长度,两数间用一个空格分隔。每条绳子的长度的小数不超过两位(1\leq L_i\leq 100001Li10000)。

输出格式

输出仅包含一个数,表示所得 KK 条绳子的最大长度。答案四舍五入保留小数点后两位。

#include
#include
#include
using namespace std;
double a[1000];
int main(){
    int n,k;
    cin>>n>>k;
    for(int i=0;i        cin>>a[i]; 
    }
    double l=0.001,r=10000.0;
    for(int i=0;i<100;i++){
        double mid=(l+r)/2;
        int c=0;
        for(int j=0;j             c+=(int)(a[j]/mid);
        }
        if(c>=k){
            l=mid;
        }else {
            r=mid;
        }
    }
       cout<     return 0;
}

你可能感兴趣的:(计蒜客)