Who has solved the STaircase and why I always get CRASH?
Here is my program
It always gets CRASH?
Could you tell me why, please?
program staircase;
const max=500;
var n,i,j:longint;
a:array[0..max,0..max]of real;
procedure br(n:integer);
var i,j:integer;
begin
for i:=1 to n do
for j:=1 to n do
if j=1 then a[i,j]:=0
else if (j*(j+1)div 2)<i then a[i,j]:=0
else if j=i then a[i,j]:=1+a[j,j-1]
else if (j=i-1)then a[i,j]:=1+a[i,j-1]
else if j>i then a[i,j]:=a[i,i]
else a[i,j]:=a[i-j,j-1]+a[i,j-1];
end;
begin
readln(n);
br(n);
writeln(round(a[n,n]-1));
end.
Thank you!