Pascal. Задача 8-39
Гоночная трасса состоит из двух основных дорог и нескольких переездов, позволяющих перейти с одной дороги на другую.
На всех участках, включая переезды, движение разрешено только в одну сторону, поэтому переезд возможен только с дороги A на дорогу B.
Гонщик стартует в точке A0 и должен финишировать в точке BN. Он знает, за какое время сможет пройти каждый участок пути по каждой дороге, то есть время прохождения участков A0A1, A1A2, …, AN-1AN, B0B1, B1B2, …, BN-1BN. Время прохождения всех переездов A0B0, A1B1, …, ANBN одинаково и известно гонщику. Необходимо определить, за какое минимальное время гонщик сможет пройти трассу.
Входные данные. Дан входной файл, в первой строке которого задаётся количество участков трассы N и целое число t — время (в секундах) прохождения каждого из переездов A0B0, A1B1, …, ANBN. В каждой из последующих N строк записано два целых числа ai и bi, задающих время (в секундах) прохождения очередного участка на каждой из дорог. В первой из этих строк указывается время прохождения участков A0A1 и B0B1, во второй — A1A2 и B1B2 и т. д
Пример входных данных:
3 20
320 150
200 440
300 210
Пример выходных данных для приведённого выше примера входных данных: 750
var
f : text;
N, t, i, a, b, Lmin, La : integer;
begin
Assign(f, 'C:\PABCWork.NET\test-8-39-1.txt');
Reset(f);
Readln(f, N, t);
lmin := t;
la := 0;
for i := 1 to N do begin
Readln(f, a, b);
la := la + a;
if la + t < lmin + b then
lmin := la + t
else
lmin := lmin + b;
end;
Close(f);
Writeln(lmin);
end.