# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
937040 | sleepntsheep | Putovanje (COCI20_putovanje) | C11 | 69 ms | 15660 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<stdio.h>
#include<stdlib.h>
#define N 200005
long long z,run;
int n,ff[N],dd[N],pp[N],jj[N],e[N<<1][4],ne,h[N],tin[N],tout[N],timer=1;
void link(int u,int v,int c1,int c2){
e[++ne][0]=v,e[ne][1]=c1,e[ne][2]=c2,e[ne][3]=h[u],h[u]=ne;
}
void dfs(int u,int p){
dd[u]=dd[pp[u]=p]+1;
jj[u]=(dd[p]-dd[jj[p]]==dd[jj[p]]-dd[jj[jj[p]]])?jj[jj[p]]:p;
tin[u]=timer++;
for(int v,j=h[u];j;j=e[j][3])if((v=e[j][0])-p){
dfs(v,u);
}
tout[u]=timer++;
}
int lca(int u,int v){
if(dd[v]<dd[u])return lca(v,u);
while(dd[v]>dd[u])
v=dd[jj[v]]>=dd[u]?jj[v]:pp[v];
while(u-v)
if(jj[u]!=jj[v])u=jj[u],v=jj[v];
else u=pp[u],v=pp[v];
return u;
}
void dfs2(int u,int p){
for(int v,j=h[u];j;j=e[j][3])if((v=e[j][0])-p){
dfs2(v,u);
long long tk=e[j][2],fr=0;
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |