답안 #886186

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
886186 2023-12-11T14:27:51 Z vjudge1 Curtains (NOI23_curtains) C++17
20 / 100
1008 ms 159100 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e7 + 7;
const int inf = 1e9 + 7;
struct SEGT{
	pair < int , int > tree[N];
	SEGT(){
		for(int i = 0;i<N;i++){
			tree[i] = {-inf , inf};
		}
	}
	void update(int ind , int l , int r , int ql , int qr){
		if(l >= ql and r <= qr){
			tree[ind].first = max(tree[ind].first , ql);
			tree[ind].second = min(tree[ind].second , qr);
			return;
		}
		else if(l > qr or r < ql){
			return;
		}
		else{
			int mid = (l+r)/2;
			update(ind*2,l,mid,ql,qr);
			update(ind*2+1,mid+1,r,ql,qr);
			tree[ind].first = max(tree[ind].first , min(tree[ind*2].first , tree[ind*2+1].first));
			tree[ind].second = min(tree[ind].second , max(tree[ind*2].second , tree[ind*2+1].second));
		}
	}
	bool query(int ind , int l , int r , int ql , int qr){
		if(l >= ql and r <= qr){
			return tree[ind].first >= ql and tree[ind].second <= qr;
		}
		else if(l > qr or r < ql){
			return 1;
		}
		else{
			int mid = (l+r)/2;
			return query(ind*2,l,mid,ql,qr) and query(ind*2+1,mid+1,r,ql,qr);
		}
	}
} segt;
void solve(){
	int n,m,q;
	cin >> n >> m >> q;
	for(int i = 0;i<m;i++){
		int x,y;
		cin >> x >> y;
		segt.update(1,1,n,x,y);
	}
	for(int i = 0;i<q;i++){
		int x,y;
		cin >> x >> y;
		cout << (segt.query(1,1,n,x,y) ? "YES" : "NO") << endl;
	}
}
signed main(){
	ios_base::sync_with_stdio(0);cin.tie(0);
	int testcase = 1;//cin >> testcase;
	while(testcase--)solve();
}
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 156764 KB Output is correct
2 Correct 37 ms 156944 KB Output is correct
3 Incorrect 32 ms 156764 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 156764 KB Output is correct
2 Correct 37 ms 156944 KB Output is correct
3 Incorrect 32 ms 156764 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 156764 KB Output is correct
2 Correct 37 ms 156944 KB Output is correct
3 Incorrect 32 ms 156764 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 33 ms 156972 KB Output is correct
2 Correct 33 ms 156760 KB Output is correct
3 Correct 34 ms 156756 KB Output is correct
4 Correct 33 ms 156760 KB Output is correct
5 Correct 35 ms 156764 KB Output is correct
6 Correct 36 ms 156760 KB Output is correct
7 Correct 37 ms 156976 KB Output is correct
8 Correct 701 ms 158656 KB Output is correct
9 Correct 682 ms 159100 KB Output is correct
10 Correct 825 ms 159056 KB Output is correct
11 Correct 672 ms 158952 KB Output is correct
12 Correct 217 ms 157252 KB Output is correct
13 Correct 205 ms 157216 KB Output is correct
14 Correct 195 ms 157244 KB Output is correct
15 Correct 185 ms 157244 KB Output is correct
16 Correct 183 ms 157244 KB Output is correct
17 Correct 186 ms 157324 KB Output is correct
18 Correct 993 ms 158504 KB Output is correct
19 Correct 1008 ms 158780 KB Output is correct
20 Correct 836 ms 158380 KB Output is correct
21 Correct 851 ms 158320 KB Output is correct
22 Correct 861 ms 158448 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 156764 KB Output is correct
2 Correct 37 ms 156944 KB Output is correct
3 Incorrect 32 ms 156764 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 41 ms 156764 KB Output is correct
2 Correct 37 ms 156944 KB Output is correct
3 Incorrect 32 ms 156764 KB Output isn't correct
4 Halted 0 ms 0 KB -