Nội dung Bài tập
- Mã:
- PowerSequence
- Tên:
- Chuỗi lũy thừa
- Dạng thi:
- oi
- Thang điểm:
- 10 điểm
- Giới hạn thời gian:
- 1 giây
- Giới hạn bộ nhớ:
- 256 MB
- Được tạo bởi:
- 4901104009
Một dãy các số nguyên dương a0 , a1 , ... an-1 là dãy lũy thừa nếu tồn tại 1 số c sao cho với mọi 0 <= i <= n-1 thì ai = ci .
Quảng cáo
Cho một dãy n số nguyên dương , ta có thể :
- Sắp xếp lại danh sách (tức là chọn hoán vị p của 0 , 1 , ... , n - 1 và thay đổi ai và ap ) , sau đó
- Thực hiện thao tác sau nhiều lần: chọn một chỉ số i và đổi ai thành ai-1 hoặc ai+1 với chi phí là 1
Tìm chi phí thấp nhất để dãy thành dãy lũy thừa
Input :
- Dòng đầu là 1 số nguyên dương n ( 3 <= n <= 105)
- Dòng thứ hai là n số nguyên dương a0 , a1 , ... , an-1 (1 <= ai <= 109)
Output :
- Một dòng duy nhất là chi phí thấp nhất
Ví dụ 1 :
Input
Output
3
1 3 2
1
Ví dụ 2 :
Input
Output
3
1000000000 1000000000 1000000000
1999982505
Giải thích
Trong ví dụ đầu tiên, trước tiên chúng ta sắp xếp lại {1,3,2} thành {1,2,3} , sau đó tăng a2 lên 4 với chi phí là 1 để thành dãy lũy thừa {1,2,4}
Theme :
Mời bạn soạn code
Ai có thể xem bài này :
Thông tin
Phần thảo luận