milk2.pas

来自「Magio牛的usaco源代码」· PAS 代码 · 共 54 行

PAS
54
字号
{
ID:maigoak1
PROG:milk2
}

program milk;
const
  maxn=5000;
type
  interval=record
    start,finish:longint;
  end;
var
  fin,fout:text;
  int:array[1..maxn]of interval;
  t:interval;
  n,i,j:integer;
  t1,t2,busy,idle:longint;
begin
  assign(fin,'milk2.in');
  reset(fin);
  readln(fin,n);
  for i:=1 to n do
    readln(fin,int[i].start,int[i].finish);
  close(fin);

  for i:=1 to n-1 do
    for j:=i+1 to n do
      if int[i].start>int[j].start then begin
        t:=int[i];
        int[i]:=int[j];
        int[j]:=t;
      end;

  busy:=0;idle:=0;
  t1:=int[1].start;t2:=int[1].finish;
  for i:=2 to n do
    if int[i].start<=t2 then begin
      if int[i].finish>t2 then t2:=int[i].finish
    end
    else begin
      if t2-t1>busy then busy:=t2-t1;
      if int[i].start-t2>idle then idle:=int[i].start-t2;
      t1:=int[i].start;
      t2:=int[i].finish;
    end;
  if t2-t1>busy then busy:=t2-t1;

  assign(fout,'milk2.out');
  rewrite(fout);
  writeln(fout,busy,' ',idle);
  close(fout);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?