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

Ответ
525
Решение
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.