Cod sursa(job #529323)

Utilizator cat_red20Vasile Ioana cat_red20 Data 4 februarie 2011 18:34:17
Problema Grupuri Scor 34
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<stdio.h>
int v[100001],n,k,i,j,p,u,base,nrg,nr;
FILE *fin,*fout;
int main(){
fin=fopen("grupuri.in","r");
fout=fopen("grupuri.out","w");
fscanf(fin,"%d %d",&k,&n);
for(i=1;i<=n;i++){
	fscanf(fin,"%d",&v[i]);
	
}
p=1;
while(n-p+1>=k){
	j=n+1;
	nrg++;
	base=n+1;
	for(i=1;i<=k;i++){
		j--;
		nr=0;
		while(v[j]==v[j-1]){
			j--;
			nr++;
		}
		//verific daca nr de animale este primul 
		if(base>j)
			base=j;
		v[j]--;
		if(v[j]==0)
			p++;
		
		j+=nr+1;
		//verific daca nr de animale este ultimul
		if(nr==0){
			j=base;
		}
	}
}
fprintf(fout,"%d",nrg);
return 0;}