[Buổi 2][Chọn STL theo bài toán][HW] Bài 1: Bao nhiêu thiết bị đang hoạt động?
Bao nhiêu thiết bị đang hoạt động?
Bối cảnh và bài toán
Trong một ca vận hành, hệ thống giám sát thu được n bản ghi telemetry. Mỗi bản ghi chứa mã nguyên của thiết bị vừa gửi dữ liệu. Một thiết bị có thể gửi rất nhiều bản ghi, còn một số thiết bị chỉ xuất hiện một lần.
Bộ phận vận hành không cần biết mỗi thiết bị gửi bao nhiêu lần; họ chỉ cần biết có bao nhiêu mã thiết bị khác nhau đã xuất hiện trong nhật ký.
Yêu cầu
Đếm số giá trị phân biệt trong dãy mã thiết bị.
Input
- Dòng 1:
n. - Dòng 2:
nsố nguyênx[i].
Output
Một số nguyên — số lượng mã phân biệt.
Ràng buộc
1 <= n <= 2 * 10^5-10^9 <= x[i] <= 10^9
Chấm điểm
| Subtask | Điểm | Điều kiện | Official tests |
|---|---|---|---|
| S1 | 30% | n ≤ 5 | 01–03 |
| S2 | 70% | Không có ràng buộc bổ sung | 04–10 |
Ví dụ 1
Input
5
2 3 2 2 3
Output
2
Giải thích. Nhật ký chỉ chứa hai mã khác nhau là 2 và 3, dù mỗi mã xuất hiện nhiều lần.
Ví dụ 2
Input
4
-1 0 1 2
Output
4
Giải thích. Cả bốn bản ghi đều mang mã khác nhau, nên có 4 thiết bị phân biệt.
Thông tin bài tập
| Thuộc tính | Giá trị |
|---|---|
| Mã bài | DSA-M01-B02-HW01 |
| Buổi | B02 |
| Loại bài | HOMEWORK |
| Mức độ khó | Dễ (Easy) |
| Thời gian làm bài khuyến nghị | 15 phút |
| Time limit | 1.5 giây |
| Memory limit | 256 MB |
| Tổng điểm | 100 |
| Chuẩn ngôn ngữ tham chiếu | C++17 |
Nguồn: Phỏng theo CSES Problem Set — Distinct Numbers (Task 1621).
Tham khảo: https://cses.fi/problemset/task/1621/
Ghi chú biên tập: Biên tập lại ngữ cảnh/constraints và chuẩn hóa theo lộ trình FULLHOUSE DEV; giữ bản chất yêu cầu của bài nguồn.
Comments