Little_hobbit

638 Всероссийская олимпиада - Динамика

Jul 3rd, 2020
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     int n, k, w, dw, s;
  9.     cin >> n >> k >> w >> dw >> s;
  10.     vector<int> c(n + 1, 0);
  11.     for (int idw = 1; idw <= dw; ++idw)
  12.     {
  13.         int wek;
  14.         cin >> wek;
  15.         for (int i = (wek+1 >= s) ? wek+1 - s : w - s + wek+1; i < n; i += w)
  16.         {
  17.             c[i] = -1;
  18.         }
  19.     }
  20.     int dm;
  21.     cin >> dm;
  22.  
  23.     for (int j = 1; j <= dm; ++j)
  24.     {
  25.         int m;
  26.         cin >> m;
  27.         c[m] = -1;
  28.     }
  29.  
  30.     int len = 1;
  31.     for (int i = 1; i <= n; ++i)
  32.     {
  33.         if (c[i] != -1)
  34.         {
  35.             if (len >= k)
  36.             {
  37.                 c[i] = c[i - 1] + 1;
  38.             }
  39.             else
  40.             {
  41.                 c[i] = (c[i-1] != -1)? c[i-1] : 0;
  42.             }
  43.             len++;
  44.         }
  45.         else
  46.         {
  47.             c[i] = c[i-1];
  48.             len = 1;
  49.         }
  50.     }
  51.  
  52.  
  53.     cout << c[n];
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment