Loading Now

maxRivalDistance

Việt là một giáo viên dạy thể chất của trường. Trong một cuộc đua nọ do Việt tổ chức, có n học sinh tham gia, trong đó có hai học sinh là kì phùng địch thủ. Một đứng ở vị trí a, người còn lại ở vị trí b. Các vị trí được đánh số từ 1 đến n.

Do hai học sinh này là địch thủ, nên Việt muốn gia tăng khoảng cách tối đa giữa họ (khoảng cách giữa hai vị trí). Công việc này được thực hiện bằng cách chọn hai học sinh bất kì đứng kế nhau và đổi vị trí của họ. Việc đổi vị trí này chỉ được thực hiện tối đa x lần.

Hãy giúp Việt tìm ra khoảng cách vị trí lớn nhất của hai kì phùng địch thủ sau tối đa x lần hoán đổi.

Ví dụ:

  • Với students={5,1,3,2} (n=5, x=1, a=3, b=2) thì maxRivalDistance(students)=2. Vì lúc này ta đổi chổ hai học sinh ở vị trí 21. Khi đó, khoảng cách giữa hai kì phùng địch thủ lúc này là 3-1=2.

Đầu vào/Đầu ra:

  • [Giới hạn thời gian chạy] 0.5 giây với C++, 3 giây với Java và C#, 4 giây với Python, GO và Js.
  • [Đầu vào] array.integer students.
    • students[0] chứa số lượng học sinh n. (2<=n<=1000)
    • students[1] chứa x. (0<=x<=1000)
    • students[2] students[3] chứa vị trí của hai kì phùng địch thủ ab. (1<=a,b<=na!=b)
  • [Đầu ra] integer: Khoảng cách tối đa giữa hai kì phùng địch thủ.

Post Comment

Contact