记录编号 |
287813 |
评测结果 |
AAAAAAAAAA |
题目名称 |
画展 |
最终得分 |
100 |
用户昵称 |
哒哒哒哒哒! |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.069 s |
提交时间 |
2016-08-02 15:02:01 |
内存使用 |
20.88 MiB |
显示代码纯文本
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
using namespace std;
#define ll long long
ll read(){
ll x=0,f=1;char ch=getchar();
while(ch<'0' || ch>'9'){
if(ch=='-') f=-1;
ch=getchar();
}
while(ch<='9'&& ch>='0'){
x=x*10+ch-48;
ch=getchar();
}
return x*f;
}
ll q[1000100],c[1000010],h=1,w=1,cnt=0;
ll vis[1000100],ans=0x7f7f7f7f,pos1,pos2;
int main(){
freopen("exhibit.in","r",stdin);freopen("exhibit.out","w",stdout);
ll n=read(),m=read();
for(ll i=1;i<=n;i++) c[i]=read();
for(ll i=1;i<=n;i++){
if(!vis[c[i]]) cnt++;
vis[c[i]]++;
q[w++]=c[i];
if(cnt==m){
while(vis[q[h]]>1) vis[q[h]]--,h++;
if(w-h < ans){
ans=w-h;
pos1=h;pos2=w;
}
}
}
printf("%lld %lld",pos1,pos2-1);
fclose(stdin);fclose(stdout);
return 0;
}