Tựa Fibonacci

Đề bài

Mô tả

Một dãy số nguyên f0,f1,,fk1 được gọi là tựa Fibonacci nếu thoả mãn đồng thời:

  1. Dãy có ít nhất hai phần tử, tức k2.
  2. Hai phần tử đầu tiên f0f1 là hai số nguyên tuỳ ý (có thể âm, có thể bằng 0, có thể bằng nhau).
  3. fi+2=fi+1+fi với mọi chỉ số i hợp lệ.

Cho dãy n số nguyên a1,a2,,an. Bạn được phép sắp xếp lại (hoán vị) toàn bộ các phần tử của dãy theo thứ tự tuỳ ý. Hãy chọn cách sắp xếp sao cho tiền tố dài nhất của dãy thu được là một dãy tựa Fibonacci.

Nói cách khác, bạn cần chọn ra một số phần tử của dãy (mỗi phần tử dùng đúng số lần nó xuất hiện trong dãy ban đầu, không nhiều hơn) và xếp chúng thành một dãy tựa Fibonacci dài nhất có thể; các phần tử còn lại được đẩy về cuối.

Hãy in ra độ dài của tiền tố tựa Fibonacci dài nhất.

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên n là số lượng phần tử của dãy.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

In ra một số nguyên duy nhất: độ dài lớn nhất có thể của tiền tố tựa Fibonacci.

Ràng buộc

  • 2n1000
  • |ai|109

Ví dụ

Input Output Giải thích
3
1 2 -1
3 Sắp xếp lại thành 1,2,1. Vì 1=2+(1) nên cả dãy là tựa Fibonacci, tiền tố có độ dài 3.
5
28 35 7 14 21
4 Sắp xếp lại thành 7,14,21,35,28. Tiền tố 7,14,21,35 là tựa Fibonacci vì 21=7+1435=14+21. Phần tử kế tiếp phải là 21+35=56 nhưng dãy không có 56, nên không đạt được độ dài 5.
4
0 0 0 0
4 Với f0=f1=0 thì mọi phần tử tiếp theo cũng bằng 0, nên toàn bộ bốn số 0 tạo thành một dãy tựa Fibonacci.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0