讨论 / 听说这东西叫队列
Fish、のTorres 2011-10-18 05:54:00
点我顶贴 收藏 删除
var a:array[0..1500]of longint;

b:array[0..1040000]of longint;

l,r,x,s,t,i,j,n,m:longint;

begin

readln(n,m);

for j:=1 to n do read(b[j]);

s:=maxlongint;

i:=1;

for j:=1 to n do begin

if a[b[j]]=0 then inc(t);

inc(a[b[j]]);

while a[b[i]]>1 do begin dec(a[b[i]]);inc(i);end;

if t=m then

if j-i+1<s then begin s:=j-i+1;l:=i;r:=j;end;

end;

write(l,' ',r);

end.

查看更多回复
提交回复