Submission #1089971

#TimeUsernameProblemLanguageResultExecution timeMemory
1089971lucripopa (BOI18_popa)C++17
100 / 100
77 ms928 KiB
#include<bits/stdc++.h> int query(int a,int b,int c,int d); int t[1010]; int tata(int nod) { if(t[nod]==-1) return nod; return tata(t[nod]); } int solve(int N, int* Left, int* Right) { int n=N; for(int i=0;i<n;++i) { t[i]=-1; Left[i]=Right[i]=-1; } for(int i=0;i+1<n;++i) { if(query(i,i,i,i+1)==true) { t[i+1]=i; Right[i]=i+1; } else { int x=t[i]; while(x!=-1&&query(x,i+1,i+1,i+1)==true) x=t[x]; if(x==-1) { x=tata(i); Left[i+1]=x; t[x]=i+1; } else { x=Right[x]; Right[t[x]]=i+1; t[i+1]=t[x]; t[x]=i+1; Left[i+1]=x; } } } for(int i=0;i<n;++i) if(t[i]==-1) return i; }

Compilation message (stderr)

popa.cpp: In function 'int solve(int, int*, int*)':
popa.cpp:49:1: warning: control reaches end of non-void function [-Wreturn-type]
   49 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...