比赛 NOIP_1 评测结果 AAAAAAAAAA
题目名称 画展 最终得分 100
用户昵称 辨机ZN 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2009-07-20 10:10:53
显示代码纯文本
program ex(f1,f2);
 type
  zn=array [1..2000] of longint;
  ka=array [1..1000000] of integer;
 var
  a:ka; f1,f2:text; i,j,k,m,n,p,l:longint;
  ans,tot,left,right,ll,rr,eginer:longint;
  c:zn; flag:boolean;
 begin
  assign(f1,'exhibit.in'); reset(f1);
  assign(f2,'exhibit.out'); rewrite(f2);
  readln(f1,n,m);
  for i:=1 to m do c[i]:=0;
  for i:=1 to n do read(f1,a[i]);
  flag:=true;
  left:=1;
  right:=1;
  ans:=n;
  tot:=1;
  c[a[1]]:=1;
  while right<n do
   begin
     if tot=m then
       begin
         if right-left+1<ans then
           begin
            ll:=left;
            rr:=right;
            ans:=right-left+1;
           end;
         dec(c[a[left]]);
         inc(left);
         if c[a[left-1]]=0 then dec(tot);
       end
              else
       begin
         inc(right);
         if c[a[right]]=0 then inc(tot);
         inc(c[a[right]]);
       end;
   end;
 if (left=1)and(right=n) then writeln(f2,left,' ',right)
                         else writeln(f2,ll,' ',rr);
 close(f1);
 close(f2);
end.