Loading Now

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 ai 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 (được 3), lượng sữa còn lại là 2 2, vắt sữa con bò 3 (được 2) và con bò 4 (được 1), tổng cộng 10.
  • Với a = [2 ,1, 4 ,3] thì Milkingthecow(a) = 6. giải thích : vắt sữa con bò 1 (được 2), lượng sữa còn lại là 0 3 2; vắt sữa con bò 3 (được 3) và vắt sữa con bò 4 (được 1) tổng cộng 6.

Đầ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

Contact