#include <bits/stdc++.h>
#include "popa.h"
using namespace std;
//~ int query(int a,int b,int c,int d);
//~ int query(int a,int b,int c,int d){
//~ printf("%d %d %d %d\n",a,b,c,d);
//~ int ret;cin>>ret;
//~ return ret;
//~ }
int solve(int n, int * l, int * r){
for(int i=0;i<n;i++)l[i]=r[i]=-1;
stack<int> s;
s.push(0);
for(int i=1;i<n;i++){
int prv=-1;
while(!s.empty() and query(s.top(), i, i, i)){
prv=s.top();
s.pop();
}
l[i]=prv;
if(!s.empty())r[s.top()]=i;
s.push(i);
}
while(!s.empty()){
if(s.size()==1)return s.top();
s.pop();
}
}
//~ int main(){
//~ int n=6;
//~ int l[n],r[n]; fill(l,l+n,-1);fill(r,r+n,-1);
//~ int root=solve(n, l, r);
//~ for(int i=0;i<n;i++){
//~ cout<<l[i]<<" "<<r[i]<<endl;
//~ }
//~ cout<<root<<endl;
//~ }
Compilation message (stderr)
popa.cpp: In function 'int solve(int, int*, int*)':
popa.cpp:30:1: warning: control reaches end of non-void function [-Wreturn-type]
30 | }
| ^
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |