Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.31 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int N,M,L,K,P;
  5. vector<int> p[100005];
  6. int rez = 0;
  7. int dp[10005];
  8.  
  9. void flame_on(int K,int L)
  10. {
  11.     memset(dp,0,sizeof(dp));
  12.     for (int i = 1 ; i <= K; i ++){
  13.         for (int j = 0; j < p[i].size(); j ++){
  14.             dp[p[i][j]]++;
  15.         }
  16.     }
  17.     for (int i = K; i <= N; i ++){
  18.         if ( i != K){
  19.             for (int j = 0; j < p[i].size(); j++)
  20.                 dp[p[i][j]]++;
  21.             for (int j = 0; j < p[i-K].size(); j ++)
  22.                 dp[p[i-K][j]]--;
  23.  
  24.         }
  25.         int cnt = 0;
  26.         for (int j = 1; j <= L; j ++){
  27.             if (dp[j]>0)
  28.                 cnt++;
  29.         }
  30.         if (cnt == 0)
  31.             rez++;
  32.         for (int j = L+1; j <= M; j++){
  33.             if ( dp[j-L] > 0)
  34.                 cnt--;
  35.             if (dp[j] > 0)
  36.                 cnt++;
  37.             if (cnt == 0){
  38.                 rez++;
  39.             }
  40.         }
  41.     }
  42. }
  43. int main()
  44. {
  45.     //ifstream cin("44.txt");
  46.     ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  47.     cin >> N >> M >> K >> L >> P;
  48.     for (int i = 0; i < P; i ++){
  49.         int x,y; cin >> x >> y;
  50.         p[x].push_back(y);
  51.     }
  52.     flame_on(K,L);
  53.     if (K != L){
  54.         //cout << "IN" << endl;
  55.         flame_on(L,K);
  56.     }
  57.     cout << rez << '\n';
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement