VioletaBabel
1654번: 랜선 자르기 본문
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
int k, n, have[10000];
long long lo = 0, hi = (long long)(pow(2, 31) - 1), mid, now;
scanf("%d %d", &k, &n);
for (int i = 0; i < k; ++i)
scanf("%d", &have[i]);
while (lo <= hi)
{
now = 0;
mid = (lo + hi) / 2;
for (int i = 0; i < k; ++i)
now += have[i] / mid;
if (now >= n)
lo = mid + 1;
else if (now < n)
hi = mid - 1;
}
printf("%lld", lo - 1);
}
'백준 > 백준-C++' 카테고리의 다른 글
10972번: 다음 순열 (0) | 2017.06.14 |
---|---|
11723번: 집합 (0) | 2017.06.14 |
11728번: 배열 합치기 (0) | 2017.06.14 |
10610번: 30 (0) | 2017.06.13 |
2875번: 대회 or 인턴 (0) | 2017.06.13 |
Comments