二分题,不解释
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cmath>
using namespace std;
int n,m;
double a[10005];
int solve(double x)
{
int i,j;
int sum=0;
for(i=0;i<n;i++)
{
sum+=int(a[i]/x);
}
return sum;
}
int main()
{
cin>>n>>m;
int i,j;
for(i=0;i<n;i++)
{
cin>>a[i];
}
double l=0;
double r = 100000;
double mid;
int ans;
for(i=0;i<1000;i++)
{
mid=(l+r)/2;
ans=solve(mid);
if(ans>=m)
{
l=mid;
}
else
{
r=mid;
}
}
printf("%.2f\n",floor(l*100)/100);
}
poj 1064
最新推荐文章于 2019-07-20 13:59:00 发布