记录编号 20477 评测结果 AAAAAAAAAA
题目名称 买票 最终得分 100
用户昵称 Gravatarmake 是否通过 通过
代码语言 Pascal 运行时间 0.773 s
提交时间 2010-10-26 11:35:41 内存使用 3.93 MiB
显示代码纯文本
program tickets;
const maxn=1000000;
var
 a:array [1..maxn] of longint;
 n,f,max,head,tail,total:longint;
 f1,f2:text;

procedure init;
var i:longint;
begin
 assign(f1,'tickets.in'); reset(f1);
 assign(f2,'tickets.out'); rewrite(f2);
 readln(f1,n,f);
 for i:=1 to n do
  read(f1,a[i]);
 close(f1);
 head:=1;
 tail:=1;
 total:=0;
 max:=0;
end;

procedure play;
begin
 while tail<=n do begin
  while (tail<=n)and(total+a[tail]<=f) do begin
   total:=total+a[tail];
   tail:=tail+1;
  end;
  if head=tail then begin
    head:=head+1;
    tail:=tail+1;
  end
  else begin
   tail:=tail-1;
   if tail-head+1>max then max:=tail-head+1;
   total:=total-a[head];
   head:=head+1;
   tail:=tail+1;
  end;
 end;
end;

procedure print;
begin
 writeln(f2,max);
 close(f2);
end;

begin
 init;
 play;
 print;
end.