题解 | 小美走公路
小美走公路
https://www.nowcoder.com/practice/23a0696faab049c2b5beb480db684487
// #牛客春招刷题训练营# https://www.nowcoder.com/discuss/726480854079250432 // 这是也是用的别人的题解的思路,我这里就简单解释一下好了,首先后面的站点到前面的站点之间的距离是很好算的,只要加一个判断确保x<y就好了,至于绕过起点的距离可以用圆的一周减去刚刚算出来的值剩下的就是了. #include <iostream> #include <algorithm> #include <vector> #define ll long long using namespace std; int main() { ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0); int n; cin >> n; vector<int> a(n); ll ans = 0; for(int i = 0; i < n; i++){ cin >> a[i]; ans += a[i]; } int x, y; cin >> x >> y; if (x > y) swap(x, y); ll k = 0; for (int i = x - 1; i < y - 1; i++){ k += a[i]; } cout << min(k, ans - k); return 0; } // 64 位输出请用 printf("%lld")#写题解领奖励##牛客春招刷题训练营#