Trang trại nuôi bò
Xem PDFVào một buổi sáng, anh Bo 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 \(1\) 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 anh Bo 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é.
Lưu ý: Sản lượng sữa của một con bò không thể xuống dưới mức \(0\).
Input
- Dòng thứ nhất là số nguyên \(n\) (\(1 \le n \le 10^5\)) là số lượng con bò.
- Dòng thứ hai gồm \(n\) số nguyên \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le 10^9\)) là sản lượng sữa ban đầu của các con bò.
Output
- Một số nguyên duy nhất xác định số lít sữa nhiều nhất mà anh Bo có thể vắt được.
Example
Test 1
Input
4
4 4 4 4
Output
10
Note
Vắt lần lượt các con bò từ 1 đến 4:
- Con thứ nhất vắt được 4 lít, các con còn lại giảm đi một lít.
- Con thứ hai vắt được 3 lít, các con còn lại giảm đi một lít.
Sau khi vắt hết 4 con sẽ được 10 lít.
Test 2
Input
4
2 1 4 3
Output
6
Note
Vắt sữa con bò 1 được 2 lít, lượng sữa còn lại 0, 3, 2. Vắt sửa con bò 3 được 3 lít lượng sữa còn lại là 0, 1. Vắt con bò 4 được thêm một lít. Tổng là 6.
Bình luận