Đoạn Con Không Trùng Lặp Dài Nhất
Xem dưới dạng PDFCho một dãy gồm \(N\) số nguyên. Hãy tìm độ dài của đoạn con liên tiếp dài nhất trong dãy sao cho tất cả các phần tử trong đoạn con đó đều đôi một khác nhau (không có bất kỳ phần tử nào xuất hiện từ 2 lần trở lên).
Định dạng đầu vào
- Dòng đầu chứa số nguyên dương \(N\) (\(1 \le N \le 10^5\)).
- Dòng hai chứa \(N\) số nguyên \(a_1, a_2, \dots, a_N\) (\(1 \le a_i \le 10^9\)).
Định dạng đầu ra
- Một số nguyên duy nhất là độ dài của đoạn con dài nhất thỏa mãn yêu cầu.
Ví dụ
Input:
8
1 2 1 3 2 7 4 2
Output:
6
Giải thích
Đoạn con dài nhất gồm các phần tử khác nhau là \(\{1, 3, 2, 7, 4, 2\}\) ? Không, số 2 xuất hiện hai lần.
Đoạn con đúng là \(\{1, 3, 2, 7, 4\}\) (độ dài 5) hoặc \(\{3, 2, 7, 4\}\)? Chờ, dãy là: 1 2 1 3 2 7 4 2
Các đoạn không lặp:
1 2(2)2 1 3(3)1 3 2 7 4(5)3 2 7 4(4)2 7 4(3)7 4 2(3) Độ dài lớn nhất là 5. Ví dụ trên cần cập nhật lại cho chuẩn xác.
Ví dụ đã được hiệu chỉnh:
Input:
8
1 2 1 3 2 7 4 3
Output:
6
Giải thích ví dụ hiệu chỉnh
Đoạn con liên tiếp gồm các phần tử khác nhau dài nhất là \(\{1, 3, 2, 7, 4, 3\}\) ? Không, có hai số 3.
Đoạn đúng là \(\{1, 3, 2, 7, 4\}\) (độ dài 5)? Hoặc \(\{3, 2, 7, 4, 3\}\) không phải.
Hãy lấy đoạn \(\{2, 1, 3\}\) (3), \(\{1, 3, 2, 7, 4\}\) (5), \(\{3, 2, 7, 4\}\) (4).
Để ra output 6, ta có dãy: 1 2 3 4 5 1 6 2. Đoạn 2 3 4 5 1 6 độ dài 6.
Input chuẩn:
8
1 2 3 4 5 1 6 2
Output chuẩn:
6
Ràng buộc
- 30% số điểm ứng với \(N \le 1000\).
- 70% số điểm còn lại không có ràng buộc gì thêm.
Nhận xét