Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python
Tháng 6 năm 2022, địa phương X tiến hành rà soát thống kê năm sinh của các công dân trong địa phương mình. Biết rằng địa phương X đã có dữ liệu gồm họ tên và năm sinh của tất cả người dân đang sống.
Yêu cầu
Em hãy giúp địa phương X tìm:
- Số lượng năm của đoạn thời gian dài nhất không có người dân nào được sinh ra.
- Năm đầu và năm cuối của đoạn thời gian trên, nếu có nhiều đoạn thời gian dài nhất như thế thì đưa ra năm đầu và năm cuối của đoạn thời gian có năm sinh nhỏ nhất. Việc tìm này chỉ thực hiện từ năm sinh nhỏ nhất đến năm sinh lớn nhất hiện có của người dân.
Dữ liệu đầu vào
- Dòng thứ nhất chứa số nguyên dương ~N~ là số lượng công dân tại địa phương ~(N \le 10^6)~;
- ~N~ dòng tiếp theo, mỗi dòng chứa họ tên và năm sinh của mỗi người dân. Giữa họ, tên lót, tên, năm sinh cách nhau bởi một dấu cách trống. Năm sinh có dạng ~4~ chữ số liền nhau.
Dữ liệu đầu ra
- Dòng đầu tiên ghi số lượng năm của đoạn thời gian dài nhất không có người dân nào được sinh ra.
- Dòng thứ hai ghi năm đầu và năm cuối của đoạn thời gian tìm được, các năm cách nhau bởi một dấu cách trống. Nếu không tìm được đoạn thời gian nào thỏa mãn thì ghi ~-1~.
Ràng buộc dữ liệu
- 70% số test với ~0 < N \le 10^4~;
- 30% số test với ~10^4 < N \le 10^6~.
Ví dụ
Ví dụ 1
INPUT
4
Thai Ngoc Ha 1998
Tran Thi An 2002
Le Van Phu 1996
Tran Van Anh 2006
OUTPUT
3
1999 2001
Giải thích:
- Năm sinh nhỏ nhất là ~1996~, năm sinh lớn nhất là ~2006~.
- Từ năm ~1996~ đến ~2006~ ta tìm được ~2~ đoạn thời gian cùng dài nhất có số lượng năm là ~3~ năm, mà không có người dân nào được sinh ra là năm ~1999-2001~ và năm ~2003-2005~;
~\Rightarrow~ Kết quả thỏa mãn bài toán là đoạn thời gian năm ~1999-2001~.
Bình luận