Edit: Mình đã hiểu ra vấn đề… thực ra khá dễ hiểu
chắc tại hôm nay đầu óc không được minh mẫn 
Mình đang học mấy thuật toán trong sách Tài liệu chuyên tin 1 của Lê Minh Hoàng , và học đến phần qhđ thì có bài ví dụ tìm dãy con đơn điệu tăng dài nhất nhưng có một chỗ mình đọc mãi không hiểu nhưng gõ code chạy trên máy thì ra kq đúng 
a[0]:= low(longint);
a[n+1]:= high(longint);
L[n+1]:= 1;
for i:= n downto 0 do begin
jmax:= n+1;
for j:= i+1 to n+1 do
if (a[j]>a[i]) and (L[j] > L[jmax]) then jmax:= j;
l[i]:= l[jmax] + 1;
trace[i]:= jmax;
end;
end;
writeln(l[0]-2);
end
Đây ở chỗ này
if (a[j]>a[i]) and (L[j] > L[jmax]) then jmax:=j;
theo mình nghĩ thì lúc khai báo mảng trong pascal các giá trị trong mảng đều mang gt = 0 , vậy làm sao mà điều kiện L[j] > L[jmax] lại thỏa mãn được.
các bạn giải thích giùm mình với , thắc mắc cả ngày hôm nay rồi 
tại mình ít khi post bài nên chưa rõ lắm chỗ ấy
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?