이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
#include<popa.h>
using namespace std;
stack<int> open,idle;
int n_,in_;
int ask(int a,int b,int c,int d)
{
while(a>b);
while(c>d);
in_++;
return query(a,b,c,d);
}
int solve(int N, int* Left, int* Right)
{
n_=N;
in_=0;
for(int i=0;i<N;i++)Left[i]=-1,Right[i]=-1;
open=idle;
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();
}
if(open.size())Right[open.top()]=i;
Left[i]=prev;
open.push(i);
}
set<int> seen={};
for(int i=0;i<N;i++)
{
seen.insert(Left[i]);
seen.insert(Right[i]);
}
assert(in_<=4*N);
for(int i=0;i<N;i++)
if(seen.count(i)==0)return i;
assert(0==1);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |