Tháng Bảy 26, 2020
Biến đổi dãy
Đề bài: Sơn rất có hứng thú với dãy số nguyên dương. Một lần biến đổi của Sơn có thể chọn 1 trong 2 phép biến đổi sau:
Giảm một phần tử đi 1 đơn vị.
Tăng tất cả phần tử 1 đơn vị.
Cho một dãy a gồm n số nguyên. Hãy tìm và đưa ra số phép biến đổi để dãy trở thành dãy bao gồm tất cả số nguyên từ 1 đến n.
- Với
a = [0,3,1,3]
thìkết quả = 2.
Giải thích:2
lần biến đổi đó là:- Tăng tất cả phần từ
1
đơn vị:a = [1,4,2,4].
- Giảm
a[1]
hoặca[3]
đi1
đơn vị
Sau2
bước trên thì dãya
đã có đầy đủ số nguyên từ1
đến4
.
- Tăng tất cả phần từ
- Với
a = [1,2,4]
, thìkết quả = 1.
Đầu vào: Một dãy a gồm n số nguyên.
Đầu ra: Số phép biến đổi để dãy trở thành dãy bao gồm tất cả số nguyên từ 1 đến n.
Chương trình mong muốn: O(nlogn)
Ví dụ:
input: 4 0 3 1 3 output: 2
input: 3 1 2 4 output: 1
Bạn chưa đăng nhập? Đăng nhập để Submit ngay!