Viết Chương Trình Nhập mảng xuất ra màn hình đoạn có nhiều phần tử tăng dần. VD: 2 4 5 6 1 3 thì đoạn từ 2 --> 6 là tăng dần còn lại cũng tăng dần nhưng ít hơn đoạn đầu. thì lấy đoạn đầu xuất ra màn hình: 2 4 5 6

1 câu trả lời

Const Fi='maxd.inp';
      Fo='maxd.out';
Var f,g:text;
    a:Array[0..1000000]of longint;
    i,n,d,j,max,e:longint;

Begin
        Assign(f,Fi); Reset(f);
        Assign(g,fo); Rewrite(g);
        Read(f,n);
        For i:=1 to n do
                Read(f,a[i]);
        max:=0; i:=1;
        While i<=n do
                Begin
                        d:=1; j:=i;
                        While (a[j]<a[j+1]) and (j<=n) do
                                Begin
                                        inc(d); inc(j);
                                End;
                        If max<d then max:=d;
                        i:=j+1;
                End;
        i:=1;
        While i<=n do
                Begin
                        d:=1; j:=i;
                        While (a[j]<a[j+1]) and (j<=n) do
                                Begin
                                        inc(d); inc(j);
                                End;
                        If d=max then
                                Begin
                                        For e:=i to j do
                                                Write(g,A[e]:3);
                                                Writeln(g);
                                End;
                        i:=j+1;
                End;
        Close(f);
        Close(g);
End.