Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int N,M,L,K,P;
- vector<int> p[100005];
- int rez = 0;
- int dp[10005];
- void flame_on(int K,int L)
- {
- memset(dp,0,sizeof(dp));
- for (int i = 1 ; i <= K; i ++){
- for (int j = 0; j < p[i].size(); j ++){
- dp[p[i][j]]++;
- }
- }
- for (int i = K; i <= N; i ++){
- if ( i != K){
- for (int j = 0; j < p[i].size(); j++)
- dp[p[i][j]]++;
- for (int j = 0; j < p[i-K].size(); j ++)
- dp[p[i-K][j]]--;
- }
- int cnt = 0;
- for (int j = 1; j <= L; j ++){
- if (dp[j]>0)
- cnt++;
- }
- if (cnt == 0)
- rez++;
- for (int j = L+1; j <= M; j++){
- if ( dp[j-L] > 0)
- cnt--;
- if (dp[j] > 0)
- cnt++;
- if (cnt == 0){
- rez++;
- }
- }
- }
- }
- int main()
- {
- //ifstream cin("44.txt");
- ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
- cin >> N >> M >> K >> L >> P;
- for (int i = 0; i < P; i ++){
- int x,y; cin >> x >> y;
- p[x].push_back(y);
- }
- flame_on(K,L);
- if (K != L){
- //cout << "IN" << endl;
- flame_on(L,K);
- }
- cout << rez << '\n';
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement