Пасьянс

면접 대비

시간 제한2초메모리 제한1024 MB

요약
카드에 적힌 수 100개 이하가 주어질 때, 인접한 수의 홀짝이 번갈아 나타나면서 값이 엄격히 증가하는 가장 긴 부분 수열의 길이를 구한다.
난이도

쉬움10점 중 3점

유형
동적 계획법, 그리디, 정렬, 배열
정답자
아직 제출이 없습니다

문제

Иногда Рик вспоминает, что уже немолод, и предпочитает немного отдохнуть от бесконечных приключений. Одним ранним вечером, он захотел разложить пасьянс, однако обычных игральных карт у него не оказалось. Порыскав по дому Рик нашел nn карточек с написанными на них натуральными числами и решил раскладывать пасьянс из них.

Так как карточки совершенно не были предназначены для пасьянса, Рик начал придумывать свои правила игры. Чтобы как-то компенсировать отсутствие цветов, Рик хочет, чтобы карточки чередовались таким образом, чтобы соседние отличались остатками при делении на два. То есть в сложенной последовательности числа на карточках должны чередоваться, например: четное, нечетное, четное и так далее... Также число на предыдущей карточке должно быть строго меньше чем число на следующей.

Рик тщательно перетасовал колоду и принялся за дело. Тем временем наблюдавший за этим Морти заинтересовался, какую максимальную последовательность карточек, удовлетворяющих условиям Рика, тот может получить из данной колоды. Ваша задача помочь ему разобраться в этом!

입력

В первой строке задано целое число nn --- количество карточек(1≤n≤1001 \le n \le 100).

Во второй строке задано nn натуральных чисел a_1,a_2,…,a_na\_1, a\_2, \ldots, a\_n --- числа, написанные на карточках (1≤a_i≤1091 \le a\_i \le 10^9).

출력

Выведите одно число --- длину максимальной последовательности, которую можно получить из данной колоды.

힌트

В первом примере в лучшем случае Рик будет вынимать в том же порядке, что дан. А последовательность <<1, 2, 3>> вполне удовлетворяет условию.

Во втором примере подойдет последовательность <<1, 2, 3, 8>>

예제2

  1. 예제 1

    입력
    3
    1 2 3
    
    예상 출력
    3
    
  2. 예제 2

    입력
    6
    3 2 8 1 4 3
    
    예상 출력
    4