Advertisement
Guest User

C - Хорошая группа

a guest
Jan 17th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.99 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     long long int n = 0, p = 0, sum = 0, it = 0, tmp = 1000001;
  8.     int arr[3000000];
  9.     int arr1[3000000];
  10.     int arr2[3000000];
  11.     cin >> n >> p;
  12.     arr1[0] = 1;
  13.     for (int i = 0; i < n; i++)
  14.     {
  15.         cin >> arr[i];
  16.     }
  17.     arr2[arr[0] + tmp] = 1;
  18.     sum+=1;
  19.     for (int i = 1; i < n; i++)
  20.     {
  21.         arr2[arr[i] + tmp]+=1;
  22.         if (arr2[arr[i] + tmp] <= p)
  23.         {
  24.             arr1[i] += arr1[i - 1] + 1;
  25.             sum += arr1[i];
  26.         }
  27.         else
  28.         {
  29.             for (int j = it; j < n; j++)
  30.             {
  31.                 if (arr[i] != arr[j])
  32.                 {
  33.                     arr2[arr[j] + tmp] -= 1;
  34.                 }
  35.                 else
  36.                 {
  37.                     it = j + 1;
  38.                     break;
  39.                 }
  40.             }
  41.             arr1[i] = i - it + 1;
  42.             sum += arr1[i];
  43.         }
  44.     }
  45.     cout << sum<<endl;
  46.     return 0;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement