답안 #953727

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
953727 2024-03-26T14:48:29 Z vjudge1 Passport (JOI23_passport) C++17
6 / 100
119 ms 14956 KB
#include<bits/stdc++.h>
using namespace std;
const int maxn=200000+10;
int n,q,vasps[maxn],vassuf[maxn];
pair<int,int>all[maxn];
vector<int>fps,fsuf;

void vorod(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>all[i].first>>all[i].second;
	}
}

void pre(){
	set<pair<int,int>>st;
	int now=0;
	while(true){
		int nx=now;
		if((int)st.size()>0){
			nx=max(nx,(*st.rbegin()).first);
		}
		if(nx==now){
			vasps[now]=1;
			st.insert(make_pair(all[now+1].second,now+1));
		}else{
			fps.push_back((*st.rbegin()).second);
			st.clear();
			for(int i=now+1;i<=nx;i++){
				st.insert(make_pair(all[i].second,i));
			}
			now=nx;
		}
		if(now==n){
			break;
		}
	}
	st.clear();
	now=n+1;
	while(true){
		int nx=now;
		if((int)st.size()>0){
			nx=min(nx,(*st.begin()).first);
		}
		if(nx==now){
			vassuf[now]=1;
			st.insert(make_pair(all[now-1].first,now-1));
		}else{
			fsuf.push_back((*st.rbegin()).second);
			st.clear();
			for(int i=now-1;i>=nx;i--){
				st.insert(make_pair(all[i].first,i));
			}
			now=nx;
		}
		if(now==1){
			break;
		}
	}
	for(int i=1;i<=n;i++){
		vassuf[i]|=vassuf[i-1];
	}
	for(int i=n;i>=1;i--){
		vasps[i]|=vasps[i+1];
	}
}

void khor(){
	int q;
	cin>>q;
	int x;
	cin>>x;
	if(x!=1||q!=1){
		assert(0);
	}
	if(vasps[1]==0){
		cout<<fps.size()<<"\n";
	}else{
		cout<<-1<<"\n";
	}
}

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
//	freopen("inp.txt","r",stdin);
	vorod();
	pre();
	khor();
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2516 KB Output is correct
3 Correct 2 ms 2396 KB Output is correct
4 Correct 119 ms 14956 KB Output is correct
5 Correct 48 ms 6228 KB Output is correct
6 Correct 39 ms 7772 KB Output is correct
7 Correct 73 ms 14312 KB Output is correct
8 Correct 54 ms 8532 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Runtime error 3 ms 4764 KB Execution killed with signal 6
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Runtime error 3 ms 4764 KB Execution killed with signal 6
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Runtime error 3 ms 4764 KB Execution killed with signal 6
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2396 KB Output is correct
2 Correct 1 ms 2516 KB Output is correct
3 Correct 2 ms 2396 KB Output is correct
4 Correct 119 ms 14956 KB Output is correct
5 Correct 48 ms 6228 KB Output is correct
6 Correct 39 ms 7772 KB Output is correct
7 Correct 73 ms 14312 KB Output is correct
8 Correct 54 ms 8532 KB Output is correct
9 Correct 1 ms 2396 KB Output is correct
10 Runtime error 3 ms 4764 KB Execution killed with signal 6
11 Halted 0 ms 0 KB -