def process(array):
result = []
for i in range(1, len(array)-1):
if (array[i] < 0 and array[i-1] < 0) or \
(array[i] < 0 and array[i+1] < 0) or \
(array[i] > 0 and array[i-1] > 0) or \
(array[i] > 0 and array[i+1] > 0):
return 'YES'
return 'NO'
def main():
N = int(input())
assert N>=1 and N<= 10000
input_array = [int(i) for i in input().split()]
assert len(input_array) == N
print(process(input_array))
if __name__ == '__main__':
main()
Объяснение:
Протестировано на стандартном вводе/выводе + один доп тест
Доп тест:
Ввод:
5
1 2 -2 3 -4
Вывод:
YES
P.S Сайт ломает Python-код. Ниже приложен скриншот исходного кода
Dim i As String
i = InputBox("Введите число")
If i = StrReverse(i) Then MsgBox("Ура! Число " & i & " является палиндромом.")
' c2fbefeeebede8eb3a20caf3eff0e8ffedeee220c42ec52e2028632920442d6d6f6e3535
Pascal.
var n, m, p: word
begin write('Введите число:');
readln(n);
m := n; p := 0;
while m > 0 do begin
p := p * 10 + m mod 10;
m := m div 10;
end;
if n = p then writeln("Ура! Число является палиндромом.")
readln;
end.
Жми Лучший