36 lines
750 B
C
36 lines
750 B
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
int main(){
|
|
int K, N;
|
|
scanf("%d %d",&K, &N);
|
|
int* cable = (int*)malloc(sizeof(int)*K);
|
|
scanf("%d",&cable[0]);
|
|
long long start = 1;
|
|
long long end = cable[0];
|
|
for(int i=1; i<K; i++){
|
|
scanf("%d",&cable[i]);
|
|
if(cable[i]>end) end = cable[i];
|
|
}
|
|
|
|
long long result;
|
|
while(start<=end){
|
|
int count = 0;
|
|
long long mid = (long long)(start + end)/2;
|
|
for(int i=0; i<K; i++){
|
|
count += cable[i]/mid;
|
|
}
|
|
|
|
if(count < N) {
|
|
end = mid - 1;
|
|
}
|
|
else if(count >= N) {
|
|
result = mid;
|
|
start = mid + 1;
|
|
}
|
|
}
|
|
|
|
printf("%lld\n",result);
|
|
free(cable);
|
|
return 0;
|
|
} |