Cod sursa(job #461662)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 8 iunie 2010 09:04:18
Problema Grupuri Scor 4
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#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 <= 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]);

	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;
}