CHIADAY - bai4THCS
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte

Chia dãy

An sinh hoạt trong câu lạc bộ lập trình của trường, mỗi tuần An có nhiệm vụ chuẩn bị bài tập cho các bạn trong câu lạc bộ. Bài tập lần này cậu ấy đưa ra như sau:

Cho dãy A, gồm n số nguyên không âm a1, a2, …, a­­n, mỗi số có giá trị không quá 100. Dãy A được gọi là chia đều khi có cách chia nó thành s dãy con tương đương và mỗi số trong dãy A thuộc vào một dãy con nào đó.

Gọi X là một dãy con của dãy A nếu lấy ra k phần tử liên tiếp nhau trong dãy A, tức là: x1=ai, x2=ai+1,…,xk=ai+k-1. Hai dãy con X, Y được coi là tương đương khi có số phần tử bằng nhau và số lần xuất hiện của mỗi giá trị trong X cũng bằng trong Y.

Ví dụ: Dãy A=(1, 5, 5, 4, 4, 5, 1, 5, 5, 1, 4, 5) là dãy chia đều vì

            Chia A được thành 3 dãy con tương đương: (1, 5, 5, 4); (4, 5, 1, 5); (5, 1, 4, 5)

Yêu cầu: Cho dãy A, em hãy viết chương trình xác định số s là số dãy con tương đương lớn nhất tìm được.

Dữ liệu vào

  • Dòng 1 chứa số nguyên n (1<=n<=104).
  • Dòng 2 chứa các số trong dãy A, mỗi số cách nhau ít nhất một dấu cách.

Kết quả đưa ra một số duy nhất là số s tìm được theo yêu cầu.

Ví dụ:

INPUT

OUTPUT

12

1 5 5 4 4 5 1 5 5 1 4 5

3

 

 

Ví dụ

Back to Top