📄 1193.pas
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -