Cod sursa(job #125358)

Utilizator RobybrasovRobert Hangu Robybrasov Data 20 ianuarie 2008 12:39:57
Problema Gardieni Scor 20
Compilator fpc Status done
Runda preONI 2008, Runda 3, Clasa a 10-a Marime 0.86 kb
var a:array[1..50005,1..3] of longint;
    v:array[1..50005] of 0..1;
    i,n,t,s:longint;
    f:text;

procedure sort;
var ok:boolean; k,t:longint; j:byte;
begin
  k:=1;
  repeat
    ok:=true;
    for i:=1 to n-k do
      if a[i,3]>a[i+1,3] then
        for j:=1 to 3 do
          begin
            t:=a[i,j]; a[i,j]:=a[i+1,j]; a[i+1,j]:=t; ok:=false;
          end;
    inc(k);
  until ok;
end;

procedure rezolva;
var nr,j:longint;
begin
  nr:=0; i:=0;
  while nr<t do
    begin
      inc(i);
      for j:=a[i,1] to a[i,2] do
        if v[j]=0 then begin v[j]:=1; inc(nr); inc(s,a[i,3]); end;
    end;
end;

begin
  assign(f,'gardieni.in');
  reset(f);
  readln(f,n,t);
  for i:=1 to n do readln(f,a[i,1],a[i,2],a[i,3]);
  close(f);
  sort;
  assign(f,'gardieni.out');
  rewrite(f);
  s:=0;
  rezolva;
  write(f,s);
  close(f);
end.