LOCO - Lò cò

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 0.05s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Siro được cho n vòng tròn, mỗi vòng tròn chứa một giá trị nguyên dương có thể trùng nhau. Gọi ~A_i~ là giá trị chứa trong vòng tròn ~i~.

Nếu ba vòng tròn ~i, j, k~ khác nhau và thỏa đẳng thức ~A_i + A_j = A_k~ thì ta vẽ ~2~ cung có hướng ~i~ -> ~k~ và ~j~ -> ~k~.

Nhiệm vụ của bạn là lập trình tính và in ra đường đi dài nhất có thể qua bao nhiêu đỉnh.

Input

Dòng đầu tiên ghi số nguyên dương ~N (3 \le N \le 1000)~

Dòng thứ hai ghi ~N~ số nguyên dương ứng với các giá trị chứa trong vòng tròn ~(1 \le A_i \le 1000)~

Output

Gồm ~1~ dòng ghi ~1~ số nguyên dương là kết quả của bài toán.

Sample

Input #1
10
4 6 5 8 1 2 3 2 3 4
Output #1
6

Hint

Với 10 vòng tròn chứa các giá trị liệt kê trong #1, một đường đi dài nhất qua 6 đỉnh chứa giá trị sau:

1 -> 3 -> 4 -> 5 -> 6 -> 8


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.