#include <iostream> using namespace std; typedef long long ll; const int N=1e5+5; int cnt[N]; int a[N]; int main() { int n,t,k; while(cin>>n>>k>>t) { memset(cnt,0,sizeof(cnt)); ll res=0; ll ans=0; for(int i=1;i<=n;++i) { cin>>a[i]; cnt[a[i]]++; if(cnt[a[i]]==t) { ans++; } if(i>=k) { if(ans>0) res++; cnt[a[i-k+1]]--; if(cnt[a[i-k+1]]==t-1) ans--; } } cout<<res<<endl; } return 0; } #include <iostream> #include <map> #include <vector> using namespace std; int main() { int n,k,t; while(cin>>n>>k>>t) { if(n==0) cout<<0<<endl; vector<int> v0; int cnt=0; while(n--) { int num; cin>>num; v0.push_back(num); } map<int,int> dynamic; for(int i=0;i<k;i++) dynamic[v0[i]]++; for(auto i:dynamic) { if(i.second>=t) { cnt++; break; } } for(int i=k;i<v0.size();i++) { dynamic[v0[i-k]]--;dynamic[v0[i]]++; for(auto j:dynamic) { if(j.second>=t) { cnt++; break; } } } cout<<cnt<<endl; } return 0; }