about summary refs log tree commit diff
path: root/10/lập-lịch/ctmt.pas
diff options
context:
space:
mode:
Diffstat (limited to '10/lập-lịch/ctmt.pas')
-rwxr-xr-x10/lập-lịch/ctmt.pas86
1 files changed, 0 insertions, 86 deletions
diff --git a/10/lập-lịch/ctmt.pas b/10/lập-lịch/ctmt.pas
deleted file mode 100755
index bdd30f0..0000000
--- a/10/lập-lịch/ctmt.pas
+++ /dev/null
@@ -1,86 +0,0 @@
-const

-  inp = 'ctmt.inp';

-  out = 'ctmt.out';

-type

-  int200 = 1..200;

-  intday = 0..8640000;

-var

-  f : text;

-  n, i, j, ln2, ln3 : int200;

-  a, b : array[1..200] of intday;

-  p, q, r, s , max0, max1 : intday;

-  ln0, ln1 : 0..1;

-procedure swab(i0, j0 : int200);

-  var tmp : intday;

-  begin

-    tmp := a[i0];

-    a[i0] := a[j0];

-    a[j0] := tmp;

-    tmp := b[i0];

-    b[i0] := b[j0];

-    b[j0] := tmp

-  end;

-procedure del(m : int200);

-  var o : int200;

-  begin

-    dec(n);

-    for o := m to n do

-      begin

-        a[o] := a[o + 1];

-        b[o] := b[o + 1]

-      end

-  end;

-begin

-  assign(f, inp);

-  reset(f);

-  readln(f, n);

-  for i := 1 to n do

-    readln(f, a[i], b[i]);

-  readln(f, p, q);

-  readln(f, r, s);

-  close(f);

-  for i := 1 to n - 1 do

-    for j := i + 1 to n do

-      if a[i] > a[j] then swab(i, j);

-  i := 1;

-  while i < n do

-    begin

-      j := i + 1;

-      while j <= n do

-        begin

-          if (a[j] <= b[i]) and (b[i] <= b[j]) then

-            begin

-              b[i] := b[j];

-              del(j)

-            end

-          else inc(j)

-        end;

-      inc(i)

-    end;

-  ln0 := 0;

-  ln1 := 0;

-  max0 := 0;

-  max1 := 0;

-  for i := 1 to n do

-    begin

-      if (a[i] <= p) and (q <= b[i]) then ln0 := 1;

-      if (i < n) and (b[i] < r) and (s < a[i + 1]) then ln1 := 1;

-      if b[i] - a[i] >= max0 then

-        begin

-          ln2 := i;

-          max0 := b[i] - a[i]

-        end;

-      if (i < n) and (a[i + 1] - b[i] > max1) then

-        begin

-          ln3 := i;

-          max1 := a[i + i] - b[i]

-        end

-    end;

-  assign(f, out);

-  rewrite(f);

-  writeln(f, ln0);

-  writeln(f, ln1);

-  writeln(f, a[ln2], ' ', b[ln2]);

-  writeln(f, b[ln3] + 1, ' ', a[ln3 + 1] - 1);

-  close(f)

-end.