# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1089899 | 2024-09-17T11:34:55 Z | lucri | popa (BOI18_popa) | C++17 | 0 ms | 0 KB |
#include<bits/stdc++.h> #include "popa.h" 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; int t[1010]; 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=i; while(t[x]) x=t[x]; t[x]=i+1; Left[i+1]=x; } } for(int i=0;i<n;++i) if(t[i]==0) return i; return -1; }