제출 #145043

#제출 시각아이디문제언어결과실행 시간메모리
145043MKopchevpopa (BOI18_popa)C++14
0 / 100
22 ms504 KiB
#include<bits/stdc++.h> #include<popa.h> using namespace std; stack<int> open,idle; int ask(int a,int b,int c,int d) { assert(a<=b); assert(c<=d); return query(a,b,c,d); } int solve(int N, int* Left, int* Right) { Left[0]=-1; open.push(0); for(int i=1;i<N;i++) { int prev=-1; while(open.size()&&ask(open.top(),i,i,i)) { prev=open.top(); open.pop(); } Left[i]=prev; open.push(i); } open=idle; Right[N-1]=-1; open.push(N-1); for(int i=N-2;i>=0;i--) { int prev=-1; while(open.size()&&ask(i,open.top(),i,i)) { prev=open.top(); open.pop(); } Right[i]=prev; open.push(i); } set<int> seen={}; for(int i=0;i<N;i++) { seen.insert(Left[i]); seen.insert(Right[i]); } for(int i=0;i<N;i++) if(seen.count(i)==0)return i; assert(0==1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...