Pagini recente » Cod sursa (job #1133691) | Cod sursa (job #2215862) | Cod sursa (job #3281503) | Cod sursa (job #502314) | Cod sursa (job #461657)
Cod sursa(job #461657)
#include <stdio.h>
#define DIM 100002
int A[DIM];
int N, K, X;
int i, j, k ,c;
int p, u;
int min (int a, int b){
if (a > b) a = b;
return a;
}
void complt (){
i = j = 0, k = c = 1;
while ( A[k] == 0 ) ++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;
if ( k > N ) 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]);
p = 1, u = N;
while (p <= u){
X = p + (u - p) / 2;
complt ();
if (i == 0 && c == K+1)
p = X + 1;
else
u = X - 1;
}
printf ("%d", u);
return 0;
}