Submission #1279388

#TimeUsernameProblemLanguageResultExecution timeMemory
1279388muhammad-ahmadCurtains (NOI23_curtains)C++20
0 / 100
1595 ms13024 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define endl '\n'

const int inf = 1e9;

signed main(){
	int n, m, Q; cin >> n >> m >> Q;
	int ma[n + 1], mi[n + 1];
	for (int i = 1; i <= n; i++) ma[i] = -inf, mi[i] = inf;
	map<int, int> C[n + 1];
	for (int i = 1; i <= m; i++){
		int l, r; cin >> l >> r;
		C[r][l]++;
		ma[r] = max(ma[r], l);
		mi[r] = min(mi[r], l);
	}
	
	for (int i = 1; i <= n; i++){
		if (mi[i] == inf) continue;
		for (int j = mi[i] - 1; j <= i; j++){
			for (auto &k : C[j]) C[i][k.first] += k.second;
		}
	}
	
	for (int q = 1; q <= Q; q++){
		int l, r; cin >> l >> r;
		cout << ((C[r][l] != 0 && l <= ma[r]) ? "YES" : "NO") << endl;
	}
	
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...