progres

Time limit: 0.3s Memory limit: 64MB Input: progres.in Output: progres.out

Gigel a progresat astăzi la matematică, și a învățat despre progresia aritmetică. Dacă avem primul element aa și o rație rr, progresia aritmetică se formează astfel: a,a+r,a+2r,a, a + r, a + 2 \cdot r, \dots

Cerință

Se dă un șir de nn numere, a1,a2,,ana_1, a_2, \dots, a_n. Să se afle lungimea maximă a unei subsecvențe [l,r][l, r] a șirului aa unde 1lrn1 \leq l \leq r \leq n, astfel încât există kk întreg, pentru care ai=al+k(il)a_i = a_l + k \cdot (i - l), pentru orice ii astfel încât lirl \leq i \leq r (cu alte cuvinte, subsecvența de la ll la rr să fie progresie aritmetică).

Date de intrare

Pe prima linie a fișierului de intrare progres.in se găsește numărul întreg nn. Pe următoarea linie se găsesc cele nn numere, a1,a2,,ana_1, a_2, \dots, a_n, separate prin câte un spațiu.

Date de ieșire

Pe prima linie a fișierului de ieșire progres.out se va găsi un singur număr întreg, lungimea maximă a unei secvențe de forma cerută.

Restricții și precizări

  • 2n1062 \leq n \leq 10 ^ 6
  • 1ai1091 \leq a_i \leq 10 ^ 9, pentru 1in1 \leq i \leq n.
  • Pentru 2020 de puncte, n10 000n \leq 10 \ 000.

Exemplul 1

progres.in

10
1 2 3 4 2 7 12 17 22 27

progres.out

6

Explicație

Secvența (2,7,12,17,22,27)(2, 7, 12, 17, 22, 27) are lungime 66 și este progresie aritmetică. Nu există subsecvențe de lungime mai mare ca 66 și care să și respecte condițiile.

Exemplul 2

progres.in

5
1 2 3 4 5

progres.out

5

Explicație

Întregul șir este o progresie aritmetică!

Log in or sign up to be able to send submissions!