Pagini recente » Cod sursa (job #338175) | Cod sursa (job #1778827) | Cod sursa (job #721053) | Cod sursa (job #997953) | Cod sursa (job #2119995)
#include <fstream>
#define nmax 100010
using namespace std;
ifstream fin("maxk.in");
ofstream fout("maxk.out");
int v[nmax*10];
int v2[nmax];
int minim = nmax*10;
int main(){
int n,k,i,nr,counter=0;
fin>>n>>k;
for(i = 1; i <= n; i++){
fin>>nr;
v[i] = nr;
v2[v[i]]++;
if(v2[v[i]] == k+1) counter++;
}
if(counter == 0){
fout<<counter;
return 0;
}
else{
int j = 1;
for(i = 1; i <= n; i++){
while(counter && j<=n){
v2[v[j]]--;
if(v2[v[j]] == k) counter--;
j++;
}
if(counter == 0){
minim = min(minim,j-i);
}
v2[v[i]]++;
if(v2[v[i]] == k+1) counter++;
}
}
fout<<minim;
}