比赛 20101025 评测结果 AAAAAAAAAA
题目名称 买票 最终得分 100
用户昵称 reamb 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2010-10-25 19:45:59
显示代码纯文本
program maipiao;
var
  k,he,i,max,weizhi,n,f:longint;
  a,sum:array[0..1000000]of longint;
procedure chazhao(x,y:longint);
begin
  k:=(x+y) div 2;
  he:=sum[k]-sum[i-1];
  if x=y then
  begin
    if sum[x]-sum[i-1]<=f then
      weizhi:=x
    else
      weizhi:=0;
    exit
  end;
  if x=y-1 then
  begin
    if sum[y]-sum[i-1]<=f then
    begin
      weizhi:=y;
      exit
    end
    else
    begin
      if he<=f then
      begin
        weizhi:=x;
        exit
      end
      else
      begin
        weizhi:=0;
        exit
      end
    end
  end;
  if he<=f then
    chazhao(k,y)
  else
    chazhao(x,k)
end;
begin
  assign (input,'tickets.in');
  reset (input);
  assign (output,'tickets.out');
  rewrite (output);
    readln (n,f);
    for i:=1 to n do
    begin
      read(a[i]);
      sum[i]:=sum[i-1]+a[i]
    end;
    max:=0;
    for i:=1 to n do
    begin
      chazhao(i,n);
      if weizhi<>0 then
        if weizhi-i+1>max then
          max:=weizhi-i+1
    end;
    writeln (max);
  close (input);
  close (output)
end.