皮皮有 N 根长为 Li 的金条,现在想把这些金条切割成 k 个小段,每段必须为整数长度,我们想要把得到的 k 个小段金条放入定制的 k 个盒子中(每个盒子中最多只能有一个金条)。盒子是批量定制的长度相同的盒子。我们应该定制最少多长的盒子才能把所有小段金条都装下?
#include <iostream>
using namespace std;
int main()
{
int N, k, length = 1;
cin >> N;
int* a = new int[N];
for (int i = 0; i < N; ++i)
cin >> a[i];
cin >> k;
while (1)
{
int temp = 0;
for (int i = 0; i < N; ++i)
{
if (a[i] % length == 0)
temp += (a[i] / length);
else
temp += (a[i] / length + 1);
}
if (temp <= k)
{
cout << length;
break;
}
else
++length;
}
delete[] a;
return 0;
}
求求啦给给代码吧