Cod sursa(job #89687)

Utilizator 7RaduRadu Antohi 7Radu Data 7 octombrie 2007 14:04:49
Problema Elimin Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.34 kb
program Elimin;
var
   Fl : text;
   rs : array[1..1000] of longint;
   a : array[1..100,1..100] of integer;
   p, i, j, k, n, m, r, c, s : longint;

procedure Init;
begin
   p := 0;
   i := 0;
   j := 0;
   s := 0;
   k := 0;
   for i := 1 to m+n do
      rs[i] := 0;
end;
begin
   Assign(Fl,'elimin.in');
   Reset(Fl);
   ReadLn(Fl,m,n,r,c);
   Init;
   for i := 1 to m do
      begin
          for j := 1 to n do
            Read(Fl,a[i,j]);
           rs[i] := rs[i] + a[i,j];
         end;
   Close(Fl);

   p := 1;
   while p <= r do
      begin
         s := 1;
         for i := 1 to m do
           if (rs[i] < rs[s]) and (rs[i] <> -1) then
              s := i;
         rs[s] := -1;
         for j := 1 to n do
            a[s,j] := 0;
         p := p + 1;
      end;

   Init;

   for i := 1 to n do
      for j := 1 to m do
         rs[i] := rs[i] + a[j,i];

   p := 1;
   while p <= c do
      begin
         s := 1;
         for i := 1 to n do
            if (rs[i] < rs[s]) and (rs[i] <> -1) then
               s := i;
         rs[s] := -1;
         for i := 1 to m do
            a[i,s] := 0;
         p := p + 1;
      end;

  s := 0;
  for i := 1 to m do
     for j := 1 to n do
        s := s + a[i,j];

  Assign(Fl,'elimin.out');
  ReWrite(Fl);
  WriteLn(Fl,s);
  Close(Fl);
end.