Viết code C++ hay Python hay Pascal

Viết code C++ hay Python hay Pascal
This anwser using AI, please
```python
n = int(input())
a = list(map(int, input().split()))

# Sử dụng dictionary để đếm số lần xuất hiện của mỗi số
count = {}
for number in a:
if number in count:
count[number] += 1
else:
count[number] = 1

# Chia ra các đoạn bằng nhau
K = len(count) # K là số đoạn cần chia
segments = list(count.values())

# In kết quả
print(K)
print(' '.join(map(str, segments)))
```

Giải thích:
1. Đầu tiên, đọc số lượng các số nguyên `n` và danh sách `a` chứa các số nguyên theo định dạng nhập vào.
2. Sử dụng một dictionary (`count`) để đếm số lần xuất hiện của từng số. Khi số được duyệt đến, nếu nó đã có trong dictionary thì tăng giá trị của nó lên 1, ngược lại thì khởi tạo giá trị bằng 1.
3. Sau khi đếm xong, số lượng đoạn `K` chính là số lượng các khóa (key) trong dictionary.
4. Cuối cùng, in giá trị `K` và danh sách số lần xuất hiện của từng số (đoạn) ra màn hình. Dùng `join` để chuyển đổi danh sách thành chuỗi để in ra.

Mỗi phần tử trong kết quả thứ hai là số lần xuất hiện của từng số, thể hiện số đoạn được chia.
Post Reply