
calGift
Cho vào một mảng arr chứa các số nguyên. Bạn hãy tìm vị trí k sao cho tổng tất cả các phần tử từ vị trí 1 đến k là lớn nhất và <= n
. Nếu không thể tìm được thì trả về -1.
Ví dụ:
Với arr = [1,2,3,4,5]
và n = 7
thì calGift(arr, n) = 3
Ta có tổng của các phần tử từ vị trí 1 –> 3 là 1 + 2 + 3 = 6. Đây là tổng lớn nhất mà <= 7.
Đầ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] Array.Integer arr
1 <= arr.length <= 10^5
Integer n
0 <= arr[i] <= 10^5
0 <= n <= 10^8 -
[Đầu ra] Integer
Post Comment