http://codeforces.com/problemset/problem/224/B
暴力

1 #include <iostream> 2 using namespace std; 3 const int maxn=100005; 4 bool f[maxn]; 5 int ans[maxn],s[maxn]; 6 int main() 7 { 8 int n,k,i,j,mark; 9 cin>>n>>k; 10 { 11 mark=-1; 12 for(i=0;i<n;i++) 13 { 14 cin>>ans[i]; 15 if(f[ans[i]]) s[i]=s[i-1]; 16 else 17 { 18 f[ans[i]]=1; 19 s[i]=s[i-1]+1; 20 if(s[i]==k) mark=i; 21 } 22 } 23 if(mark>=0) 24 { 25 j=k; 26 for(i=mark;i>=0,j>0;i--) 27 { 28 if(f[ans[i]]) 29 { 30 f[ans[i]]=0; 31 j--; 32 } 33 else 34 { 35 continue; 36 } 37 } 38 cout<<i+2<<" "<<mark+1<<endl; 39 } 40 else 41 { 42 cout<<"-1 -1"<<endl; 43 } 44 } 45 return 0; 46 }