1193.pas

来自「平时acm训练时ac的源代码」· PAS 代码 · 共 44 行

PAS
44
字号
program Queue (input, output);
  var t : array [1.. 100, 1.. 3] of integer;
      order : array [1.. 100] of integer;
      lN, lI, lK, lMax, lTime : longint;
      bI : boolean;
  begin
    readln (lN);
    for lI := 1 to lN do
      readln (t [lI, 1], t [lI, 2], t [lI, 3]);
    for lI := 1 to lN do
      order [lI] := lI;
    repeat
      bI := true;
      for lK := 1 to lN - 1 do
        if t [order [lK], 1] > t [order [lK + 1], 1] then
          begin
            bI := false;
            lI := order [lK];
            order [lK] := order [lK + 1];
            order [lK + 1] := lI;
          end;
      if bI = true then break;
    until false;
    lTime := t [order [1], 1] + t [order [1], 2];
    if lTime > t [order [1], 3] then
      begin
        lMax := lTime - t [order [1], 3];
        for lK := 2 to lN do t [order [lK], 3] := t [order [lK], 3] + 
lMax;
      end;
    for lI := 2 to lN do
      begin
        if lTime < t [order [lI], 1] then
          lTime := t [order [lI], 1];
        lTime := lTime + t [order [lI], 2];
        if lTime > t [order [lI], 3] then
          begin
            lMax := lTime - t [order [lI], 3] + lMax;
            for lK := lI + 1 to lN do t [order [lK], 3] := t [order 
[lK], 3] + lTime - t [order [lI], 3];
          end;
      end;
    writeln (lMax);
  end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?