比赛 20160414 评测结果 C
题目名称 随机数消除器 最终得分 0
用户昵称 正在缓冲... 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2016-04-14 17:16:07
显示代码纯文本
program zht;
var
n,m,i,j,t,l,s,ss:longint;
a,c:array[0..1000000] of longint;
begin
{assign(input,'tickets.in');
assign(output,'tickets.out');
reset(input);
rewrite(output);}
 readln(n,m);
for i:=1 to n doread(a[i]);
   for i:=1 to n do
begint:=i and (-i);
for j:=i-t+1 to i do
 c[i]:=c[i]+a[j];
end;
 l:=1;
for i:=1 to n do
begin
 if i+l>n then break;
  while 1<2 do
     begin
 if l=n then
begin
writeln(l);
exit;
end;
s:=0;
 ss:=0;
  t:=i-1;
  while t>0 do
 begin
s:=s+c[t];
t:=t-(t and (-t));
 end;
 t:=i+l;
 while t>0 do
 begin
ss:=ss+c[t];
t:=t-(t and (-t));
end;
 s:=ss-s;
//writeln(l,' ',i,' ',s);
if s<m then inc(l);
if s=m then
begin
inc(l);
break;
end;
if s>m then break;
end;
end;
writeln(l);
end.