COLORBOX (OLP MT&TN 2023 Sơ Loại Không Chuyên)
Vì có kết quả cao trong kỳ thi học sinh giỏi vừa qua nên Phát được mẹ thưởng cho một hộp màu tuyệt đẹp. Bộ màu ấy bao gồm \(n\) cây màu được xếp theo thứ tự từ trái qua phải, cây màu thứ \(i\) (\(1 \leq i \leq n\)) có màu được mô tả bởi một số nguyên \(a_i\).
Tuy nhiên, có một số sơ suất trong quá trình sản xuất nên hộp màu của Phát có thể chứa một số cây màu giống nhau. Vì là một người thích sự hoàn hảo nên Phát muốn bỏ bớt một số cây màu sao cho những cây màu còn lại đôi một phân biệt với nhau.
Để làm vậy, Phát sẽ chọn nhiều nhất một đoạn con gồm các cây màu liên tiếp rồi bỏ chúng đi, tức là, Phát sẽ chọn hai số nguyên \(l\) và \(r\) thoả mãn \(1 \leq l \leq r \leq n\) rồi bỏ các cây màu từ vị trí \(l\) đến vị trí \(r\) và giữ nguyên các cây màu còn lại.
Hãy giúp Phát tìm ra số lượng cây màu bị bỏ đi ít nhất sao cho các cây màu còn lại thoả mãn điều kiện.
Input
- Dòng đầu tiên chứa số nguyên \(n\) (\(1 \leq n \leq 10^6\)) là số lượng cây màu.
- Dòng tiếp theo chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\) (\(1 \leq a_i \leq n\)).
Output
- In ra một số nguyên duy nhất là số lượng cây màu bị bỏ đi.
Scoring
- Subtask \(1\) (\(20\%\) số điểm): \(n \leq 10^{2}\).
- Subtask \(2\) (\(20\%\) số điểm): \(n \leq 10^{3}\).
- Subtask \(3\) (\(30\%\) số điểm): \(n \leq 10^{5}\).
- Subtask \(4\) (\(30\%\) số điểm): Không có ràng buộc gì thêm.
Example
Test 1
Input
4
1 1 2 2
Output
2
Note
- Trong ví dụ đầu tiên, Phát có thể bỏ đi các cây màu từ vị trí \(2\) đến vị trí \(3\).
Test 2
Input
5
1 4 1 4 5
Output
2
Note
- Trong ví dụ thứ hai, Phát có thể chọn một trong ba cách sau:
- Bỏ đi các cây màu từ vị trí \(1\) đến vị trí \(2\).
- Bỏ đi các cây màu từ vị trí \(2\) đến vị trí \(3\).
- Bỏ đi các cây màu từ vị trí \(3\) đến vị trí \(4\).
Giao bài tập
Sau nhiều bước tuyển lựa gắt gao, tỉnh QN đã chọn được \(N\) học sinh để tiếp tục bồi dưỡng cho vòng thi chọn HSG Quốc gia sắp tới. Thầy Hùng cho \(N\) học sinh này xếp thành một hàng và thầy giao cho mỗi học sinh một số lượng bài tập nhất định (có thể bằng \(0\)) để các bạn luyện tập. Thầy Hùng giao tổng cộng \(N\) bài tập khác nhau và thầy biết rằng học sinh thứ \(i\) sẽ hài lòng nếu được giao đúng \(i\) bài tập.
Hãy giúp thầy Hùng tính số cách giao bài tập để ít nhất một trong \(N\) học sinh hài lòng. Hai cách giao được xem là khác nhau nếu tồn tại một học sinh được giao một bài tập ở cách giao này nhưng lại không được giao bài tập đó ở cách giao còn lại.
Input
- Gồm một số nguyên dương \(N\) được nhắc đến trong đề bài.
Output
- Số cách tìm được sau khi chia lấy số dư cho \(10^9 + 7\).
Scoring
- Subtask \(1\) (\(13\%\) số điểm): \(N \leq 7\).
- Subtask \(2\) (\(30\%\) số điểm): \(N \leq 20\).
- Subtask \(3\) (\(57\%\) số điểm): \(N \leq 350\).
Example
Test 1
Input
1
Output
1
Test 2
Input
2
Output
3
Test 1
Input
314
Output
192940893
Note
Giải thích test ví dụ thứ hai
Ba cách giao bài tập để tồn tại ít nhất một học sinh thỏa mãn là:
- Giao bài tập thứ nhất cho học sinh thứ nhất, bài tập thứ nhì cho học sinh thứ nhì.
- Giao bài tập thứ nhì cho học sinh thứ nhất, bài tập thứ nhất cho học sinh thứ nhì.
- Giao cả hai bài tập cho học sinh thứ nhì.
Bộ số tam giác (HSG12'18-19)
Cho dãy số \(A\) gồm \(n\) phần tử nguyên dương \(A_1, A_2, …, A_n\). Mỗi phần tử có giá trị không vượt quá \(10^9\) và \(1 \lt n \leq 5000\). Một bộ ba số được gọi là bộ số tam giác, nếu ba số này tạo thành ba cạnh của một tam giác nào đó.
Yêu cầu: Hãy đếm xem trong dãy \(A\) có bao nhiêu bộ số tam giác (\(A_i, A_j, A_k\)) với \(i, j, k\) đôi một khác nhau.
Input
- Dòng đầu là số \(n\).
- Dòng tiếp theo là các phần tử của dãy \(A\), mỗi phần tử cách nhau một dấu cách.
Output
- Ghi ra số lượng bộ số tam giác.
Scoring
- Subtask \(1\) (\(30\%\) số điểm): \(n \leq 100\).
- Subtask \(2\) (\(30\%\) số điểm): \(100 \lt n \leq 1000\).
- Subtask \(3\) (\(40\%\) số điểm): \(1000 \lt n \leq 5000\).
Example
Test 1
Input
5
4 3 1 5 7
Output
3
Đếm số lần xuất hiện của phần tử trong mảng sắp xếp
Cho số nguyên dương \(N\) và mảng \(A\) đã được sắp xếp tăng dần. Cho số nguyên \(X\). Hãy đếm số lần \(X\) xuất hiện trong mảng \(A\).
Input
- Dòng đầu tiên đưa vào số lượng bộ test \(T\) (\(1 \leq T \leq 100\)).
- Dòng đầu mỗi bộ test nhập vào số nguyên \(N\) và \(X\) (\(1 \leq N \leq 10^3, 1 \leq X \leq 5000\)).
- Dòng thứ hai mỗi bộ test nhập \(N\) số nguyên \(A_i\) (\(1 \leq i \leq N, 1 \leq A_i \leq 5000\)).
Output
- In ra kết quả theo yêu cầu đề bài.
Example
Test 1
Input
2
5 3
1 2 3 3 3
5 4
1 2 3 5 6
Output
3
0