https://www.acmicpc.net/problem/1654
#include <bits/stdc++.h>
#define endl "\n"
using namespace std;
int main(void) {
// C++ Init
ios::sync_with_stdio(false);
cin.tie(NULL);
int input1, input2;
int num;
vector<int> v;
cin >> input1 >> input2;
for (int i = 0; i < input1; i++) {
cin >> num;
v.push_back(num);
}
sort(v.begin(), v.end());
long left = 1;
long right = v[v.size() - 1];
long mid;
int cnt;
int answer;
while (left <= right) {
cnt = 0;
mid = (left + right) / 2;
for (int i = 0; i < v.size(); i++) {
cnt += v[i] / mid;
}
if (cnt >= input2) {
answer = mid;
left = mid + 1;
}
else {
right = mid - 1;
}
}
cout << answer;
}
'알고리즘' 카테고리의 다른 글
C++ 알고리즘 - 백준 1620 나는야 포켓몬 마스터 이다솜 (unordered_map) (0) | 2025.01.04 |
---|---|
C++ 알고리즘 - 백준 11723 집합 (0) | 2025.01.04 |
C++ 알고리즘 - 백준 2108 통계학 (0) | 2025.01.04 |
C++ 알고리즘 - 백준 1966 프린터 큐 (0) | 2025.01.01 |
C++ 알고리즘 - 백준 10816 숫자 카드 2 (unordered_map) (0) | 2025.01.01 |