Cod sursa(job #115326)

Utilizator meciprymecipry mecipry Data 16 decembrie 2007 12:11:30
Problema Operatii Scor 0
Compilator fpc Status done
Runda preONI 2008, Runda 2, Clasa a 10-a Marime 0.95 kb
program operatii;
type vector=array[1..1000]of longint;
var a,b,c:vector;
		i,j,min,x,n,poz:integer;
		f,g:text;
		egal:boolean;
begin
	 assign(f,'operatii.in');
	 reset(f);
	 assign(g,'opreatii.out');
	 rewrite(g);
	 readln(f,n);
	 for i:=1 to n do read(f,a[i]);
	 x:=0; c:=a;
	 for i:=1 to n do b[i]:=0;
	 egal:=true;
	 repeat
		 for i:=1 to n do
			 if c[i]<>b[i] then egal:=false
			 else egal:=true;
		 if egal=false then
			 begin
				 i:=1;
				 repeat
					 while a[i]=0 do i:=i+1;
					 poz:=i;
					 min:=a[i];
					 if (a[i]<>0) then
						 begin
							 while (a[i]<>0) do  begin
																			if a[i]<min then min:=a[i];
																			i:=i+1;
																	 end;
							 for j:=poz to i-1 do begin
																			b[j]:=b[j]+min;
																			a[j]:=a[j]-min;
																	end;
							 x:=x+1;
						 end;
				 until i>=n-1;
			 end;
		 until egal;
		 write(g,x);
		 close(f);
		 close(g);
end.