Cho một dãy số gồm \(N\) số nguyên dương \(a_1, a_2, ..., a_n\) có giá trị không vượt quá \(10^6\). Yêu cầu tìm dãy con liên tiếp ngắn nhất có chứa ít nhất hai số nguyên tố.
Dữ liệu vào:
- Dòng đầu tiên ghi số nguyên dương \(N\) (\(N\) nhỏ hơn hoặc bằng \(10^6\)), là số lượng phần tử của dãy số.
- Dòng thứ hai ghi \(N\) số nguyên dương lần lượt mô tả các phần tử của dãy số.
Dữ liệu ra:
- Kết quả là một số nguyên duy nhất, là số lượng phần tử của dãy con thỏa mãn yêu cầu bài toán.
- Nếu không tồn tại dãy con nào thỏa mãn, ghi ra \(-1\).
Ràng buộc:
- Có 50% số test với 50% số điểm thỏa mãn: \(N\) nhỏ hơn hoặc bằng \(10^3\), và giá trị của các số trong dãy nhỏ hơn hoặc bằng \(10^3\).
- 30% số test khác với 30% số điểm thỏa mãn: \(N\) nhỏ hơn hoặc bằng \(10^6\), và giá trị của các số trong dãy nhỏ hơn hoặc bằng \(10^3\).
- 20% số test còn lại với 20% số điểm không có ràng buộc gì thêm.
Input 1
10
3 4 8 4 5 6 1 7 4 6
Output 1
4
Giải thích
- Chọn dãy con từ vị trí thứ 5 đến vị trí thứ 8: 5, 6, 1, 7.
Nhận xét