Cod sursa(job #244764)

Utilizator drag0s93Mandu Dragos drag0s93 Data 15 ianuarie 2009 22:54:14
Problema Operatii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
int n,v[1000000],m[1000000];
bool ok=false;
void citire()
{
	for(int i=1;i<=n;++i)
		scanf("%d",&v[i]);
}
void verifica()
{
	for(int i=1;i<=n && ok!=false;++i)
		if(v[i]==m[i])
			ok=true;
		else ok=false;
}
int main()
{
	int p,i,j,nr=0;
	freopen("operatii.in","r",stdin);
	freopen("operatii.out","w",stdout);
	scanf("%d",&n);
	citire();
	while(ok==false)
	{
		ok=true;
		for(p=1,i=0,j=0;p<=n+1;++p)
		{
			if(v[p]>0 && i==0 && v[p]!=m[p])
				i=p;
			else if(i && v[p]>0 && v[p]!=m[p])
				j=p;
			if(i>0 && j>0 && v[p]==0)
				break;
		}
		if(i>0 && p>=n)
			j=i+1;
		for(;i<=j;++i)
			m[i]++;
		verifica();
		++nr;
	}
	printf("%d",nr);
	return 0;
}