algorithm'''problem solve
[백준]1654-랜선 자르기(설명X)
JunHwa Park
2020. 2. 2. 18:49
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #include <cstdio> int main() { int K, N, ans = 0; scanf("%d %d", &K, &N); int* lan = new int[K]; unsigned long long max = 0; for (size_t i = 0; i < K; i++) { scanf("%d", &lan[i]); max = max < lan[i] ? lan[i] : max; } unsigned long long min = 1, ea, mid; while (max >= min) { ea = 0; mid = (max + min) / 2; for (size_t j = 0; j < K; j++) ea += lan[j] / mid; if (ea >= N) { ans = mid > ans ? mid : ans; min = mid + 1; } else max = mid - 1; } printf("%d", ans); return 0; } | cs |