solved a2p3

This commit is contained in:
0x01FE 2025-02-06 19:52:34 -06:00
parent dea42ea39c
commit c1f241ff5a

56
MAIN8_C/MAIN8_C.cpp Executable file
View File

@ -0,0 +1,56 @@
#include <cstdio>
#include <iostream>
#include <climits>
#define MAX_BOXES 50000
bool check_candies(int boxes[], int mid, int student_count, int box_count) {
for (int i = 0; i < box_count; ++i) {
student_count -= boxes[i] / mid;
if (student_count < 1)
return true;
}
return false;
}
// O(log n)
int main() {
int t;
std::scanf("%d", &t);
int boxes[MAX_BOXES];
while (t--) {
int n, k;
std::scanf("%d %d", &n, &k);
int largest = INT_MIN;
for (int i = 0; i < n; i++) {
std::scanf("%d", &boxes[i]);
if (boxes[i] > largest)
largest = boxes[i];
}
int low = 0;
int high = largest;
while (low < high) {
int mid = low + (high - low + 1) / 2;
if (check_candies(boxes, mid, k, n)) {
low = mid;
} else {
high = mid - 1;
}
}
std::printf("%d\n", low);
}
return 0;
}