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 .
  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} 

    Quảng cáo
       Ngôn ngữ : 

       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