아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

등차수열

시간 제한1.5초메모리 제한512 MB

요약
서로 다른 정수들의 집합이 주어질 때, 등차수열로 배열할 수 있는 가장 큰 부분집합의 크기를 구한다.
난이도

보통10점 중 6점

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

문제

등차수열이란 연속한 두 원소의 차가 일정한 수열이다. 예를 들어 수열 5,7,9,11,135, 7, 9, 11, 13은 공차가 22인 등차수열이지만, 수열 1,2,4,51, 2, 4, 5는 연속한 두 원소의 차가 1,2,11, 2, 1이므로 등차수열이 아니다.

정수 집합 {a1,a2,…,an}\{a_1, a_2, \ldots, a_n\}이 주어질 때, 등차수열을 이루는 부분집합 가운데 크기가 가장 큰 것의 크기를 구하라.

집합 AA를 어떤 순서로 나열했을 때 등차수열이 되면, AA가 등차수열을 이룬다고 한다.

입력

첫째 줄에 테스트 케이스의 수 zz가 주어진다. 이어서 각 테스트 케이스의 설명이 주어진다.

각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 nn (1≤n≤20001 \leq n \leq 2000)과 nn개의 정수 a1,a2,…,ana_1, a_2, \ldots, a_n (0≤ai≤1090 \leq a_i \leq 10^9)이 주어진다. aia_i는 서로 다르다.

출력

각 테스트 케이스마다 주어진 집합에서 찾을 수 있는 가장 큰 등차수열의 크기를 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    2
    4 1 2 3 4
    6 0 1 2 4 5 6
    
    예상 출력
    4
    4