Решение задачи "Кольцевая" с Codeforces

Без пояснения   Просмотров: 14


На кольцевой линии берляндского метро расположено n станций. Известны расстояния между всеми парами соседних станций:

d 1 — расстояние между 1-ой и 2-ой станцией;
d 2 — расстояние между 2-ой и 3-ой станцией;
...

d n - 1 — расстояние между n - 1-ой и n-ой станцией;
d n — расстояние между n-ой и 1-ой станцией.
Поезда ходят по кольцевой линии в обоих направлениях. Найдите кратчайшее расстояние между станциями с номерами s и t.

Код

// Author: πα

#include <bits/stdc++.h>
using namespace std;
#define long int64_t

int main()
{
    int n, i, l, r;
    cin >> n;
    vector<int> v(n+1);
    for(i = 1; i <= n; ++i)
        cin >> v[i], v[i] += v[i-1];
    cin >> l >> r;
    int d = abs(v[--r] - v[--l]);
    cout << min(d, v[n] - d);
    return 0;
}

         

 Администратор Photo Автор: Администратор


Отправить решение задачи
Чтобы отправить решение вам нужно войти в систему или зарегистрироваться

Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться