program MIDI;
uses crt;
var i,n,k :integer; A:array[1..100] of integer; KT: boolean;
begin
clrscr;
write('Nhap so n: ');readln(n);
For i:=1 to n do
begin
write('A[',i,']= ');
readln(A[i]);
end;
if a[1]>a[2] then k:=1 else k:=0; kt:=true;
For i:=1 to n-1 do
if ((i mod 2=k)and(a[i]<=a[i+1]))or((i mod 2<>k)and(a[i]>=a[i+1])) then KT:=false;
if KT=true then write('YES');
if KT=false then write('NO');
readln;
end.
Bài này sai ở chỗ:
Dãy đơn điệu là: Vd 1 2 1 2 hoặc 2 1 2 1
Mà bài cũ cũa cậu là chỉ xét TH:2 1 3 2 thôi
Ta thấy là a[1]>a[2] thì là ><><>... ngược lại là <><><>...
Vậy nên mình tính k
k là 1 khi a[1]>a[2], 0 khi ngược lại
k là để xét Vd 1212 thì chạy từ 1 tới n nó thấy 1 mà >2 thì false (1 là ở những VT mod 2=k)