如果发现广告等破坏行为,请尽量将条目恢复到较早的版本而不是把相应内容直接删除,谢谢合作。

URAL/1061

来自"NOCOW"

跳转到: 导航, 搜索

一遍线形扫描,类似于队列的做法即可

program cao;
const
  maxn=110000;
 
var
  data:array[0..maxn] of longint;
  a,b,c,d,e,f,g,h,j,i,k,l,n,m,p,q,sum,ans:longint;
  ch:char;
 
begin
  readln(g,n);
  p:=maxlongint;
  sum:=0;
  m:=0;
  q:=0;
  for i:=1 to g do
  begin
    read(ch);
    if seekeoln then readln;
    inc(q);
    if ch='*' then
    begin
      sum:=0;
      m:=0;
    end
    else
    begin
      inc(m);
      data[m]:=ord(ch)-48;
      inc(sum,data[m]);
      if m>=n then
      begin
        sum:=sum-data[m-n];
        if sum<p then
        begin
          p:=sum;
          ans:=q-n+1;
        end;
      end;
    end;
  end;
  writeln(ans);
end.
个人工具