Submission #92897

#TimeUsernameProblemLanguageResultExecution timeMemory
92897Pajarajapopa (BOI18_popa)C++17
0 / 100
2 ms504 KiB
#include <bits/stdc++.h>
#include "popa.h"
#define MAXN 1007
using namespace std;
int ls[MAXN],rs[MAXN],dm[MAXN];
int rek(int lt,int rt)
{
	if(lt>rt) return -1;
	int l;
	for(int i=lt;i<=rt;i++) {if(dm[i]<=lt) l=i; break;}
	ls[l]=rek(lt,l-1);
	rs[l]=rek(l+1,rt);
	return l;
}
int solve(int N,int* Left,int* Right)
{
	stack<int> st; st.push(-1);	
	for(int i=0;i<N;i++)
	{
		while(st.empty()>1 && !query(st.top(),st.top(),st.top(),i)) st.pop();
		dm[i]=st.top()+1;
	}
	int a=rek(0,N-1);
	for(int i=0;i<N;i++) Left[i]=ls[i];
	for(int i=0;i<N;i++) Right[i]=rs[i];
	return a;
}

Compilation message (stderr)

popa.cpp: In function 'int solve(int, int*, int*)':
popa.cpp:20:19: warning: comparison of constant '1' with boolean expression is always false [-Wbool-compare]
   while(st.empty()>1 && !query(st.top(),st.top(),st.top(),i)) st.pop();
         ~~~~~~~~~~^~
popa.cpp: In function 'int rek(int, int)':
popa.cpp:12:7: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized]
  rs[l]=rek(l+1,rt);
  ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...