- #include<bits/stdc++.h>
- using namespace std;
- unordered_map<string ,int> un;
- int main()
- {
- cin.tie(0);
- cin.sync_with_stdio(0);
- int m,n;
- cin>>m>>n;
- string st[n];
- for(int i=0;i<n;i++)
- {
- cin>>st[i];
- un[st[i]]=0;
- }
- int l=0,r=0,sum=0;
- while(r<n)
- {
- if(r-l==m)
- {
- un[st[l]]--;
- l++;
- }
- else if(r-l==m-1)
- {
- if(un[st[r]]==0)
- {
- un[st[r]]++;
- r++;
- sum++;
- }
- else if(un[st[r]]!=0)
- {
- un[st[l]]--;
- l++;
- }
- }
- else
- {
- if(un[st[r]]==0)
- {
- un[st[r]]++;
- r++;
- }
- else if(un[st[r]]!=0)
- {
- un[st[l]]--;
- l++;
- }
- }
- }
- cout<<sum;
- return 0;
- }
複製代碼 |