• Предмет: Информатика
  • Автор: VasechkaPupkin
  • Вопрос задан 1 год назад

ПОМОГИТЕ НА С++
Патрульная машина последовательно посетила N точек на кольцевой магистрали длиной M, начиная с точки 0. Какое минимальное расстояние она могла проехать?
Формат входных данных
В первой строке задано натуральные числа N и M, не превосходящие 106 – количество точек, посещённых патрулём, и длина кольцевой магистрали, соответственно. В каждой из следующих N строк дано неотрицательное число, меньшее M – километровая отметка, отмечающая расстояние по кольцу от начальной точки до очередной точки посещения.
Формат выходных данных
Выведите целое число – ответ на задачу.

Ответы

Ответ дал: lozromanik
0

Відповідь:

#include <iostream>

//24 4 25 => 25-24+4 = 5

//20 24 25 => 24 - 20 = 4

using namespace std;

int main()

{int road_length,

    total_road_points,

    current_point = 0,

    next_point,

    result = 0;

    cin>>total_road_points>>road_length;

    for(int i = 0;i < total_road_points;i++){

        cin>>next_point;

        if(current_point > next_point) result+= road_length - current_point + next_point;

        else result+= next_point - current_point;

        current_point = next_point;

    }

    cout<<"\nTotal minimum way length = "<<result;

   return 0;

}

Пояснення:

Код обчислює загальний мінімальний результат, враховує знаходження на точці, яка рівна довжині магістралі.

Вас заинтересует