Submission #276611

#TimeUsernameProblemLanguageResultExecution timeMemory
276611super_j6popa (BOI18_popa)C++14
100 / 100
104 ms628 KiB
#include "popa.h"
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <stack>
using namespace std;
#define endl '\n'
#define ll long long
#define pi pair<int, int>
#define f first
#define s second

int qry(int x, int y){
	return query(x, x, min(x, y), max(x, y));
}

int solve(int n, int l[], int r[]){
	stack<int> stk;
	for(int i = 0; i < n; i++){
		int x;
		l[i] = r[i] = -1;
		while(!stk.empty() && qry(i, x = stk.top())){
			l[i] = x;
			stk.pop();
		}
		if(!stk.empty()){
			//if(!qry(x = stk.top(), i)) return -1;
			r[x] = i;
		}
		stk.push(i);
	}
	while(stk.size() > 1) stk.pop();
	return stk.top();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...