Cho một dãy số nguyên lấy ra từ tệp ‘SN.dat’ hãy viết chương trình pascal tìm đoạn dài nhất các phần tử liên tiếp tạo thành một dãy không giảm.
Ví dụ: Cho tệp ‘SN.dat’ gồm dãy số:
1 2 3 2 3 4 4 5 6 7 2 4 5 8 5 6 8 9
Kết quả: Đoạn dài nhất các phần tử liên tiếp tạo thành một dãy không giảm
2 3 4 4 5 6 7
const fi=’SN.dat’;
var n,j,i,dau,cuoi,d,max:longint;
a:array[0..100000000]of longint;
f:text;
begin
assign(f,fi); reset(f);
i:=1;
while not eof(f) do begin
read(f,a[i]);inc(i);
end;
close(f);
n:=i-1; i:=1; max:=0;
while i<n do
begin
j:=i; d:=1;
while (a[j]<=a[j+1]) and (j<n) do begin
inc(d); inc(j);
end;
if d>max then begin
dau:=i; cuoi:=j; max:=d;
end;
i:=j+1;
end;
for i:=dau to cuoi do
write(a[i],’ ‘);
readln;
end.