• Source
    1. #include <iostream>
    2. #include <string>
    3. using namespace std;
    4.  
    5. struct data
    6. {
    7. int leng;
    8. long at[25];
    9. } typedef data;
    10.  
    11. data arr[300005];
    12.  
    13. int main ()
    14. {
    15. long n, k;
    16. cin>>n>>k;
    17.  
    18. //Khoi tao;
    19. arr[0].leng=0;
    20. for (int i=1; i<=20; i++)
    21. arr[0].at[i]=0;
    22.  
    23. for (long i=1; i<=n; i++)
    24. {
    25. string tmp;
    26. cin>>tmp;
    27. int len = tmp.length();
    28. arr[i].leng = len;
    29. for (int j=2; j<=20; j++)
    30. arr[i].at[j] = arr[i-1].at[j];
    31. arr[i].at[len]++;
    32. }
    33. long long pair = 0;
    34. for (long i=1; i<=n; i++)
    35. {
    36. int len = arr[i].leng;
    37. if (i>k)
    38. {
    39. pair += (arr[i].at[len] - arr[i-k-1].at[len] - 1);
    40. }
    41. else
    42. {
    43. pair += (arr[i].at[len] - arr[0].at[len] - 1);
    44. }
    45. }
    46. cout<<pair;
    47. return 0;
    48. }