해결한 사람
0
명
정답률
0.00
%
시간 제한
2000
ms
메모리 제한
245
MB
Alice는 초보 작곡가이며, 이제 또 하나의 걸작을 만들 준비가 되었다. 게다가 하나만이 아니라 두 개를 동시에 만들려고 한다!
Alice에게는 n개의 음표가 적힌 악보가 있다. Alice는 각각이 선율을 이루는 비어 있지 않고 서로 겹치지 않는 두 부분 수열을 골라, 그 길이의 합을 최대화하려고 한다.
부분 수열은 어떤 수열에서 일부 원소를 삭제하되 나머지 원소의 순서를 바꾸지 않고 얻을 수 있는 수열이다.
인접한 모든 두 음표의 차가 1이거나 두 음표가 7로 나눈 나머지가 같으면 부분 수열이 선율을 이룬다.
각각이 선율을 이루는 비어 있지 않고 서로 겹치지 않는 두 부분 수열의 길이 합의 최댓값을 계산하는 프로그램을 작성해야 한다.
첫째 줄에 정수 하나 n (2 ≤ n ≤ 5000)이 주어진다.
둘째 줄에 악보에 적힌 n개의 정수 a1, a2, ..., an (1 ≤ ai ≤ 105)이 주어진다.
각각이 선율을 이루는 비어 있지 않고 서로 겹치지 않는 두 부분 수열의 길이 합의 최댓값을 출력한다.
6
62 22 60 61 48 49
5
4
1 2 4 5
4
첫 번째 예제에서는 부분 수열 와 의 길이 합이 4이다.
두 번째 예제에서는 부분 수열 와 의 길이 합이 5이다. 부분 수열 을 먼저 고르면 두 번째 선율의 최대 길이는 2가 되어 결과는 4이며, 이는 최댓값이 아니다.