for(int p=1;p<=k;p++){
int i=a[p];
L[1]=p;
if(adj[i])L[i]=p;
else if(e[i].size()<=M)for(int j:e[i])if(exist[j])L[i]=max(L[i],L[j]);
l[p]=L[i];
exist[i]=1;
for(int j:e2[i])L[j]=max(L[j],L[i]);
}
for(int i=1;i<=k;i++){
if(adj[a[i]])l[i]=i;
else if(e[a[i]].size()<=M)for(int j:e[a[i]])l[i]=max(l[i],re[j]);
else l[i]=L[a[i]];
re[a[i]]=l[i];
for(int j:e2[a[i]])L[j]=max(L[j],l[i]);
}
这两种有什么区别,第一种wa,第二种ac