# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1089917 | 2024-09-17T11:49:40 Z | lucri | popa (BOI18_popa) | C++17 | 0 ms | 0 KB |
#include<bits/stdc++.h> int query(int a,int b,int c,int d); int t[1010]; int tata(int nod) { if(t[nod]==0) 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]=0; 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=tata(i); t[x]=i+1; Left[i+1]=x; } } for(int i=0;i<n;++i) if(t[i]==0) return i; }