[Hàm] - Easy shortest path

Xem PDF

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Trên vòng tròn có \(N\) điểm, các điểm được đánh số từ 1 đến \(N\). Khoảng cách giữa điểm \(i\)\(i + 1\)\(D_i\) (riêng \(D_N\) là khoảng cách giữa 1 và \(N\)). Tìm khoảng cách dễ nhất giữa 2 điểm \(X\)\(Y\).

Chi tiết cài đặt

Bạn cần cài đặt hàm sau:

C++
int solve(int N, int X, int Y, int D[])
  • \(N\): số điểm.
  • \(X,Y\): hai điểm cần tính khoảng cách.
  • \(D[]\): mảng gồm \(N+1\) phần tử, trong đó \(D_i\) là khoảng cách giữa điểm \(i\)\(i+1\), riêng \(D_N\) là khoảng cách giữa điểm \(1\) và điểm \(N\).
  • Hàm này cần trả về một số nguyên là khoảng cách ngắn nhất giữa hai điểm \(X\)\(Y\).
  • Hàm này được gọi đúng một lần.

Constraint

  • \(1 \le N \le 100\).
  • \(1 \le D_i \le 100 \forall i:1 \le i \le N\).
  • \(1 \le X,Y \le N\).

Ví dụ

Xét lời gọi hàm sau:

C++
solve(4,1,3,[0,2,3,4,9])

Trong ví dụ này, \(N = 4, X = 1, Y = 3, D = [0,2,3,4,9]\).

Khoảng cách giữa hai điểm \(X = 1\)\(Y = 3\) là: \(D_1 + D_2 = 2 + 3 = 5\).

Vậy hàm cần trả về một số nguyên có giá trị bằng \(5\).


Bình luận

Không có bình luận nào.