제출 #145027

#제출 시각아이디문제언어결과실행 시간메모리
145027MKopchevpopa (BOI18_popa)C++14
0 / 100
41 ms424 KiB
#include<bits/stdc++.h>
#include<popa.h>
using namespace std;

stack<int> open,idle;
int solve(int N, int* Left, int* Right)
{
    for(int i=0;i<N;i++)
    {
        int prev=-1;
        while(open.size()&&query(open.top(),i,i,i))
        {
            prev=open.top();
            open.pop();
        }

        Left[i]=prev;
        open.push(i);
    }

    open=idle;
    for(int i=N-1;i>=0;i--)
    {
        int prev=-1;
        while(open.size()&&query(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...