
Milking the cow
Vào một buổi sáng Trí sắp một đàn bò gồm n
con bò để vắt sữa. Anh dự kiến là vào sáng hôm đó, con bò thứ i
có khả năng sẽ vắt được a
i
lít sữa. Tuy nhiên đàn bò của anh có đặc tính là cứ mỗi lần vắt sữa một con, những con còn lại trông thấy sợ quá nên sẽ bị giảm sản lượng mỗi con 01 lít
sữa. Nếu vắt sữa con bò thứ nhất
, n-1
con còn lại bị giảm sản lượng. Sau đó vắt sữa con bò thứ hai
thì n-2
con còn lại bị giảm sản lượng…. Bạn hãy giúp trí tính xem thứ tự vắt sữa bò như thế nào để số lượng sữa vắt được là nhiều nhất nhé.
Ví dụ:
- Với
a = [4,4,4,4]
thìMilkingthecow(a) = 10
. giải thích : vắt sữa con bò1 (được 4)
, lượng sữa còn lại là3 3 3
; vắt sữa con bò2
(được3
), lượng sữa còn lại là2 2
, vắt sữa con bò3
(được 2) và con bò4
(được1
), tổng cộng10
. - Với
a = [2 ,1, 4 ,3]
thìMilkingthecow(a) = 6
. giải thích : vắt sữa con bò1
(được2
), lượng sữa còn lại là0 3 2
; vắt sữa con bò3
(được3
) và vắt sữa con bò4
(được1
) tổng cộng6
.
Đầu vào/Đầu ra:
-
[Thời gian chạy] 0.5s với C++, 3s với Java và C#, 4s với Python, Go và JavaScript.
- [Đầu vào] Arrays.integer a
Đàn bò và sản lượng sữa của mỗi con bò trong đàn.1 ≤ a.size() < 100
1 ≤ a[i] < 1000 - [Đầu ra] Integer
Số lít sữa nhiều nhất mà trí có thể vắt được.
Post Comment