ПОМОГИТЕ НА С++
Патрульная машина последовательно посетила N точек на кольцевой магистрали длиной M, начиная с точки 0. Какое минимальное расстояние она могла проехать?
Формат входных данных
В первой строке задано натуральные числа N и M, не превосходящие 106 – количество точек, посещённых патрулём, и длина кольцевой магистрали, соответственно. В каждой из следующих N строк дано неотрицательное число, меньшее M – километровая отметка, отмечающая расстояние по кольцу от начальной точки до очередной точки посещения.
Формат выходных данных
Выведите целое число – ответ на задачу.
Ответы
Ответ дал:
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;
}
Пояснення:
Код обчислює загальний мінімальний результат, враховує знаходження на точці, яка рівна довжині магістралі.
Вас заинтересует
1 год назад
1 год назад
1 год назад
1 год назад
2 года назад
8 лет назад