莫名编译错误???
查看原帖
莫名编译错误???
1176197
ljcnoi楼主2025/1/12 17:34

rt,本地可以运行,无error和warning,提交洛谷就CE,求问?

#include<bits/stdc++.h>
using namespace std;
int f[305][305],n,m;
struct EDGE
{
	int to,next;
};
EDGE edge[505];
int cnt,head[305],jl[305];
void add(int fr,int to)
{
	cnt++;
	edge[cnt].to=to;
	edge[cnt].next=head[fr];
	head[fr]=cnt;
}
dfsa(int a,int fa)
{
	for(int i=head[a];i;i=edge[i].next)
	{
		int b=edge[i].to;
		dfsa(b,a);
		for(int j=m;j>=0;j--)
		{
			for(int k=0;k<=j;k++)
			{
				f[a][j]=max(f[a][j],f[a][j-k]+f[b][k]);
			}
		}
	}
	for(int i=m+1;i>=1;i--)
	{
		f[a][i]=f[a][i-1]+jl[a];
	}
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		int fr;
		cin>>fr>>jl[i];
		add(fr,i);
	}
	dfsa(0,0);
	int ans=-1e9;
	for(int i=0;i<=m+1;i++)
	{
		ans=max(ans,f[0][i]);
	}
	cout<<ans<<endl;
}
2025/1/12 17:34
加载中...