Submission #914234

#TimeUsernameProblemLanguageResultExecution timeMemory
914234LitusianoCurtains (NOI23_curtains)C++17
0 / 100
2 ms604 KiB
#include<bits/stdc++.h>
using namespace std;

bool cmp(pair<int,int> a, pair<int,int> b){
	return a.second < b.second;
}

bool intersect(pair<int,int> a, pair<int,int> b){
	return (b.first == a.second+1 || b.first<=a.second); 
}

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	int n,m,q; cin>>n>>m>>q;
	vector<pair<int,int>> v;
	set<pair<int,int>> sgs;
	for(int i = 0; i<m; i++){
		int l,r; cin>>l>>r;
		sgs.insert({l,r}); v.push_back({l,r});
	}
	sort(v.begin(),v.end(),cmp);
	for(int i = 0; i<m; i++){
		for(int j = i+1; j<m; j++){
			if(intersect(v[i],v[j])){
				sgs.insert({min(v[i].first,v[j].first), max(v[i].second,v[j].second)});
			}
		}
	}
	while(q--){
		int l,r; cin>>l>>r;
		pair<int,int> p = {l,r};
		if(sgs.count(p)) cout<<"YES\n";
		else cout<<"NO\n"<<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...