Loading Now

maxDiff

Cho số nguyên n, k và một dãy số nguyên a. Bạn hãy tìm cách chia dãy đã cho thành hai phần, trong đó một phần có k phần tử và một phần có n - k phần tử sao cho độ lệch giữa hai phần là lớn nhất. Độ lệch giữa hai phần được tính bằng cách lấy tổng của phần này trừ cho tổng phần kia. Hãy trả về độ lệch lớn nhất đó

Ví dụ:

Với n = 5, k = 2, a = [8,4,5,2,10] thì kết quả maxDiff(n, k, a) = 17

  • Giải thích: Ta có thể chia thành hai phần như sau
    • [2,4][5,8,10] -> Độ lệch là 17 -> Lớn nhất

Đầ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] integer n, k.
    ≤ k < n ≤ 106
  • [Đầu vào] arrray of integer.
    a.size = n

          a[i] ≤ 106

  • [Đầu ra] integer.
    Độ lệch lớn nhất có thể

Post Comment

Contact