为什么这样地雷数都不对?
#include<bits/stdc++.h>
using namespace std;
int shu[25],dp[25];
bool lj[25][25];
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
cin>>shu[i];
}
for(int i=1;i<n;i++)
for(int j=0;j<i;j++)
cin>>lj[i][j];
for(int i=n-1;i>0;i--){
for(int j=0;j<i;j++){
if(lj[i][j]==1)
dp[j]=max(dp[j],shu[j])+shu[i]);
}
}
for(int i=0;i<n;i++)
cout<<dp[i]<<' ';
return 0;
}