Pagini recente » Cod sursa (job #355688) | Cod sursa (job #2100828) | Cod sursa (job #295849) | Cod sursa (job #2915150) | Cod sursa (job #461674)
Cod sursa(job #461674)
#include <stdio.h>
#define DIM 100002
int A[DIM];
int N, K, X;
int i, j, k ,c;
int p, u, S;
int min (int a, int b){
if (a > b) a = b;
return a;
}
int complt (){
for (i=1,k=0;i<=N;i++) {
if (A[i]<=K)
k+=A[i];
else
k+=K;
if (k>=K*X)
return 1;
}
return 0;
/*
i = j = 0, k = c = 1;
while ( A[k] == 0 && k <= N ) ++k;
while ( !(i == 0 && c == K+1) ){
++i, ++j;
if ( i == X ) i = 0, ++c;
if ( j == A[k] || j == X) j = 0, ++k;
while ( A[k] == 0 && k <= N) ++k;
if ( k > N && i > 0) break;
}
*/
}
int main (){
freopen ("grupuri.in", "r", stdin);
freopen ("grupuri.out", "w", stdout);
scanf ("%d %d", &K, &N);
for (i=1; i<=N; i++) {
scanf ("%d", &A[i]);
S+=A[i];
}
S/=K;
p = 1, u = S;
while (p <= u){
X = p + (u - p) / 2;
if (complt ())
p = X + 1;
else
u = X - 1;
}
printf ("%d", u);
return 0;
}