**Lưu ý: Khuyến khích suy nghĩ trước khi xem lời giải**
---
Hàng trên là *điểm*, hàng dưới là khoảng cách *A[i]*
* Điểm: 1---2---3---1 (4)---2 (5)---3 (6)--
* a[i]: ------1---2---2--------1----------2--------
(A[i] sẽ ở giữa 2 điểm, **vẽ ra để dễ hình dung nha**)
bạn phải duyệt 2 chiều của đường tròn
1. A[x] -> A[y - 1]
2. A[y] -> A[x + n - 1]
---
Code
```cpp
#include <bits/stdc++.h>
using namespace std;
const int N = 1005; // thầy mình dặn là nên cho dư 5 phần tử so với đề bài
int n, x, y, a[2*N];
int main()
{
cin >> n;
for(int i=1; i<=n; i++){
cin >> a[i];
a[n + i] = a[i];
}
cin >> x >> y;
if (x > y) swap(x, y);
int s1 = 0, s2 = 0;
for(int i=x; i<y; i++) s1 += a[i];
for(int i=y; i<x + n; i++) s2 += a[i];
cout << min(s1, s2);
return 0;
}
```
Lời giải này mình không dùng AI nên hơi xấu