Đ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\) và \(i + 1\) là \(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\) và \(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\) và \(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\) và \(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\) và \(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