가장 긴 등차수열

시간 제한1초메모리 제한128 MB

요약
최대 2000개의 정수 중에서 재배열하여 등차수열을 이루는 가장 긴 부분집합의 길이를 구하는 문제입니다.
난이도

보통10점 중 6점

유형
동적 계획법, 정렬, 해시맵
정답자
아직 제출이 없습니다

문제

음이 아닌 정수 N개가 주어진다. 이 중 일부를 선택한 뒤 원하는 순서로 나열하여 등차수열을 만들 수 있다. 만들 수 있는 등차수열의 최대 길이를 구하시오.

등차수열은 이웃한 두 항의 차이가 항상 같은 수열이다. 이 공차는 음수이거나 0일 수도 있다.

입력

첫째 줄에 정수의 개수 N (1 ≤ N ≤ 2,000)이 주어진다.

다음 N개의 줄에는 정수가 하나씩 주어진다. 각 정수는 0 이상이고 1,000,000,000보다 작다.

출력

만들 수 있는 가장 긴 등차수열의 길이를 첫째 줄에 출력한다.

예제1

  1. 예제 1

    입력
    5
    1
    4
    3
    5
    7
    
    예상 출력
    4