Files
leetcode-master/problems/kamacoder/小美走公路.md
programmercarl 4e6052698d 更新图论
2024-06-17 11:53:52 +08:00

682 B
Raw Blame History

两个注意点

  1. x 可以比 y 大,题目没规定 x 和y 的大小顺序
  2. 累计相加的数可能超过int
#include <iostream>
#include <vector>
using namespace std;
int main () {
    int n;
    cin >> n;
    vector<int> vec(2* n + 1, 0);
    for (int i = 1; i <= n; i++) {
        cin >> vec[i];
        vec[n + i] = vec[i];
    }
    int x, y;
    cin >> x >> y; 
    int xx = min(x ,y); // 注意点1x 可以比 y 大
    int yy = max(x, y);
    long long a = 0, b = 0;  // 注意点2相加的数可能超过int 
    for (int i = xx; i < yy; i++) a += vec[i];
    for (int i = yy; i < xx + n; i++ ) b += vec[i]; 
    cout << min(a, b) << endl;
}