#712. Chuỗi hạt (KOR)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Byteasar quyết định làm một chiếc vòng cổ. Cô ấy mua một chuỗi hạt và có một chiếc máy có thể cắt chuỗi hạt này thành nhiều đoạn, sao cho mỗi đoạn có đúng k hạt (k > 0) . Nếu độ dài của chuỗi hạt không phải là bội số của k , đoạn cuối cùng có độ dài nhỏ hơn k sẽ bị vứt bỏ.

Byteasar muốn biết nên chọn số k nào để nhận được số lượng các đoạn khác nhau là nhiều nhất.

Lưu ý rằng các đoạn có thể bị đảo ngược, nghĩa là chuỗi con 1, 2, 3 3, 2, 1 được coi là giống nhau.

Dữ liệu:

  • Dòng đầu tiên chứa một số nguyên dương n , biểu thị độ dài của chuỗi hạt.
  • Dòng thứ hai chứa n số nguyên dương a_1, a_2, \dots, a_n cách nhau bởi dấu cách, mô tả màu sắc của chuỗi hạt.

Kết quả:

  • Dòng đầu tiên xuất ra hai số nguyên cách nhau bởi dấu cách: số đầu tiên là số lượng đoạn khác nhau tối đa có thể đạt được, số thứ hai là số lượng các giá trị k có thể đạt được giá trị tối đa đó.
  • Dòng thứ hai xuất ra các số nguyên k cách nhau bởi dấu cách, biểu thị tất cả các giá trị k có thể đạt được kết quả tối đa, vui lòng xuất k theo thứ tự từ nhỏ đến lớn.

Ví dụ:

Dữ liệu:

21
1 1 1 2 2 2 3 3 3 1 2 3 3 1 2 2 1 3 3 2 1

Kết quả:

6 1
2

Giới hạn:

  • Với 100\% dữ liệu, 1 \le n \le 2 \times 10^5 , và với mọi 1 \le i \le n , ta có 1 \le a_i \le n .