Cod sursa(job #155999)

Utilizator claudiu_syclaudiu claudiu_sy Data 12 martie 2008 12:06:03
Problema Gardieni Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.09 kb
var a:array[1..3,1..5000] of integer;
    aux:array [1..3]of integer;
    j:0..3;
    p,l,ct,cs,b,i,n,m,t,k,li:longint;
    f,g:text;
function min(x:integer):longint;
var mi:integer;
begin
mi:=300;
l:=p+1;
while (a[l,1]=a[p+1,1]) do
      begin
      if a[l,3]<mi then
         mi:=a[l,3];
      l:=l+1;
      end;
l:=l-1;
min:=mi;
end;


begin
assign(f,'gardieni.in');
assign(g,'gardieni.out');
reset(f);
rewrite(g);
readln(f,n,t);
for i:=1 to n do
    readln(f,a[i,1],a[i,2],a[i,3]);

for i:=1 to n-1 do
    for j:=i+1 to n do
        if a[i,1]>a[j,1] then
           for li:=1 to 3 do
               begin
               aux[li]:=a[i,li];
               a[i,li]:=a[j,li];
               a[j,li]:=aux[li];
               end;

ct:=0;
p:=0;
for k:=1 to t do
    begin
    cs:=min(k);
    for i:=1+p to l do
        if a[i,1]<a[i,2] then
           a[i,1]:=a[i,1]+1
        else p:=p+1;
    ct:=ct+cs;
end;


for i:=1 to n do
    begin
    for j:=1 to 3 do
        write(g,a[i,j],' ');
    writeln(g);
    end;
writeln(g,ct);
close(f);
close(g);
end.