Nam có người bạn thân tên Bình. Nam đang tìm cách giải một bài toán liên quan đến số tự nhiên và cần sự giúp đỡ của Bình. Thử thách lần này là một dãy gồm ~N~ số tự nhiên bất kỳ nằm trong đoạn từ 0 tới ~1067~. Vấn đề đặt ra của bài toán là đếm số lượng giá trị khác nhau có trong dãy số và đưa ra số lần lặp của giá trị xuất hiện nhiều nhất. Vì số lượng các số tự nhiên trong dãy số đã cho có thể lên tới 107 phần tử nên không thể đếm thủ công mà cần thuật toán để cài đặt vào máy tính và nhờ máy tính làm giúp. Ví dụ: Dãy gồm 8 số: 2, 3, 1, 3, 5, 2, 2, 8 thì dãy có 5 giá trị khác nhau và số lần lặp của giá trị xuất hiện nhiều nhất trong dãy là 3.
Yêu cầu: Cho một dãy ~A~ gồm ~N~ số tự nhiên. Gọi ~Q~ là số lượng giá trị khác nhau có trong dãy và P là số lần lặp của giá trị xuất hiện nhiều nhất trong dãy A. Hãy tìm ~Q~ và ~P~.
Dữ liệu vào:
- Dòng 1: chứa số nguyên ~N~ (~1 ≤ N ≤ 10^7~);
Dòng 2: chứa ~N~ số tự nhiên ~A_1, A_2,..., A_N~ (~0 ≤ A_i ≤ 10^7~; và các số cách nhau ít nhất một dấu cách).
Dữ liệu ra:
Dòng 1: ghi số ~Q~;
- Dòng 2: ghi số ~P~.
Ví dụ:
Input
8
2 3 1 3 5 2 2 8
Output
5
3
Bình luận