Между населёнными пунктами A, B, C, D, E построены дороги, протяжённость ко- торых (в километрах) приведена в таблице. Определите длину кратчайшего пути между пунктами В и Е. Передвигаться можно только по дорогам, протяжённость которых указана в таблице.
N = int(input())
X = [''] * N
for a in range(N):
X[a] = int(input())
a = 0
c, b, e, f = 0, 0, 0, N + 1
g, h = 0, 0
while a < N - 2:
a += 1
e += 1
b, c = X[a], b
if c < b:
while a < N - 1:
a += 1
e += 1
d = X[a]
if d < b:
if e < f:
g, h = a - e + 1, a + 1
f = e
break
elif d == b:
continue
else:
break
e = 0
if g == 0 and h == 0:
print(0)
else: print(g, h)
Объяснение:
55 балов
#include<iostream>
#include<conio.h>
#include<Windows.h>
#include<cmath>
using namespace std;
int main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
const int N = 15;
int arr[N],a=0;
cout << "Введите 15 чисел в интервале от -30 до 30: ";
for (int i = 0;i < N;i++) {
cin >> arr[i];
if (arr[i] < -30 || arr[i]>30) {
cout << "Ошибка!";
break;
}
if (arr[i] > 0) {
a++;
}
}
cout << "Кол-во положительных чисел из заданного интервала = " << a;
_getche();
return 0;
}