返回列表 發帖
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. unordered_map<string ,int> un;
  4. int main()
  5. {
  6.     cin.tie(0);
  7.     cin.sync_with_stdio(0);
  8.     int m,n;
  9.     cin>>m>>n;
  10.     string st[n];
  11.     for(int i=0;i<n;i++)
  12.     {
  13.         cin>>st[i];
  14.         un[st[i]]=0;
  15.     }
  16.     int l=0,r=0,sum=0;
  17.     while(r<n)
  18.     {
  19.         if(r-l==m)
  20.         {
  21.             un[st[l]]--;
  22.             l++;
  23.         }
  24.         else if(r-l==m-1)
  25.         {
  26.             if(un[st[r]]==0)
  27.             {
  28.                 un[st[r]]++;
  29.                 r++;
  30.                 sum++;
  31.             }
  32.             else if(un[st[r]]!=0)
  33.             {
  34.                 un[st[l]]--;
  35.                 l++;
  36.             }
  37.         }
  38.         else
  39.         {
  40.             if(un[st[r]]==0)
  41.             {
  42.                 un[st[r]]++;
  43.                 r++;
  44.             }
  45.             else if(un[st[r]]!=0)
  46.             {
  47.                 un[st[l]]--;
  48.                 l++;
  49.             }
  50.         }
  51.     }

  52.     cout<<sum;
  53.     return 0;
  54. }
複製代碼

TOP

返回列表