比赛 20120619 评测结果 WAAAEAWAAA
题目名称 免费午餐 最终得分 70
用户昵称 wo shi 刘畅 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2012-06-19 20:20:48
显示代码纯文本
var
  i,top,l,r,x,now,n:longint;
  q,a:array[0..1000000]of longint;

function erfen(l,r:longint):longint;
var
  mid:longint;
begin
  if l=r then exit(l);
  mid:=(l+r) div 2;
  if a[mid]>now then erfen(mid+1,r)
  else erfen(l,mid);
end;

begin
  assign(input,'lunch.in'); reset(input);
  assign(output,'lunch.out'); rewrite(output);
  readln(n);
  for i:=1 to n do read(a[i]);
  top:=0;
  q[0]:=maxlongint;
  for i:=1 to n do
  if a[i]<>0 then
  begin
    if a[i]<q[top] then
    begin
      inc(top);
      q[top]:=a[i];
    end
    else begin
      l:=1;
      r:=top;
      now:=a[i];
      x:=erfen(l,r);
      q[x]:=a[i];
    end;
  end;
  writeln(top);
  close(input);
  close(output);
end.