[BOJ] 1654번 : 랜선 자르기
2024. 9. 1. 17:25ㆍAlgorithm
1. problem :
https://www.acmicpc.net/problem/1654
2. solution 1 :
#include <bits/stdc++.h>
using namespace std;
int k, n;
int nums[10005];
typedef long long ll;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> k >> n;
for (int i = 0; i < k; i++) cin >> nums[i];
ll left = 1ll;
ll right = *max_element(nums, nums + k);
ll answer = 0;
while (left <= right) {
ll mid = (left + right) / 2;
int len_sum = 0;
for (int i = 0; i < k; i++) {
len_sum += nums[i] / mid;
}
if (len_sum < n) right = mid - 1;
else if (len_sum >= n) {
left = mid + 1;
answer = mid;
}
}
cout << answer << '\n';
}'Algorithm' 카테고리의 다른 글
| [BOJ] 11055번 : 가장 큰 증가하는 부분 수열 (0) | 2024.09.02 |
|---|---|
| [BOJ] 1912번 : 연속합 (0) | 2024.09.01 |
| [BOJ] 2193번 : 이친수 (0) | 2024.09.01 |
| [BOJ] 11727번 : 2 x n 타일링 2 (1) | 2024.09.01 |
| [BOJ] 1932번 : 정수 삼각형 (0) | 2024.09.01 |