这段代码莫名其妙出错了,有没有大佬帮忙看一下
#include <bits/stdc++.h>
using namespace std;
int n,m,w,f[100001]={0},c[100001],d[100001],a,b,ans[100001][100001];
int father(int num){
if(f[num]==num)
return num;
f[num]=father(f[num]);
return f[num];
}
int main(){
cin>>n>>m>>w;
for(int i=1;i<=n;i++)
f[i]=i;
for(int i=1;i<=n;i++)
cin>>c[i]>>d[i];
for(int i=1;i<=m;i++){
cin>>a>>b;
f[father(b)]=father(a);
}
for(int i=1;i<=n;i++)
if(f[i]!=i){
c[father(i)]+=c[i];
d[father(i)]+=d[i];
c[i]=0;
d[i]=0;
}
for(int i=1;i<=n;i++)
for(int j=1;j<=w;j++)
if(j>=c[i])
ans[i][j]=max(ans[i-1][j],ans[i-1][j-c[i]]+d[i]);
else
ans[i][j]=ans[i-1][j];
cout<<ans[n][w];
return 0;
}
报错如下:
No valid executable file was produced by the compiler
./ccMvQkKs.o: in function __static_initialization_and_destruction_0(int, int)': src:(.text+0x41e): relocation truncated to fit: R_X86_64_PC32 against .bss'
src:(.text+0x437): relocation truncated to fit: R_X86_64_PC32 against `.bss'
collect2: 错误:ld 返回 1