就一个普普通通的dp,一直90……
#include<bits/stdc++.h>
#define inf 0xffffffff
#define ll long long
using namespace std;
ll n,ans=-inf,k,l=0;
ll dp[105][105];
int main()
{
scanf("%lld",&n);
for(ll i=1;i<=n;i++)
{
scanf("%lld",&k);
for(ll j=1;j<=k;j++)
{
ll t,s;
while(scanf("%lld",&t)&&t!=0)
{
scanf("%lld",&s);
s=dp[i-1][t]-s;
if(dp[i][j]==0) dp[i][j]=s;
else if(dp[i][j]==inf) dp[i][j]=max(l,s);
else dp[i][j]=max(dp[i][j],s);
if(dp[i][j]==0) dp[i][j]=inf;
}
}
}
for(ll i=1;i<=k;i++)
{
if(dp[n][i]==inf) ans=max(ans,l);
else ans=max(ans,dp[n][i]);
}
ans*=-1;
printf("%lld",ans);
return 0;
}