AC代码,但样例输出13
#include<bits/stdc++.h>
using namespace std;
int n,sum,len[10002],vis[10002];
vector <int> p[10002];
int f(int x){
if(vis[x]>0)return vis[x];
for (int i=0;i<p[x].size();i++)
vis[x]=max(vis[x],f(p[x][i]));
vis[x]+=len[x];
return vis[x];
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int x,y;
cin>>x>>len[x];
while(cin>>y){
if(y==0)break;
else{
p[y].push_back(x);
}
}
}
for(int i=1;i<=n;i++){
sum=max(sum,f(i));
}
cout<<sum;
return 0;
}