样例过不了但44分,样例输出28,不明白,求指导,谢谢
#include<bits/stdc++.h>
using namespace std;
int a[1010][1010]={0},dp[1001]={0};
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=i;j++)
{
cin>>a[i][j];
if(i==n)
{
dp[j]=a[i][j];
}
}
}
for(int i=n;i>0;i--)
{
for(int j=1;j<=i;j++)
{
if(j==1&&i!=1)
{
dp[1]+=a[i-1][j];
}
else if(j==i&&i!=1)
{
dp[n]+=a[i-1][j-1];
}
else
{
dp[j]+=max(a[i-1][j-1],a[i-1][j]);
}
}
}
int x=-3432;
for(int i=1;i<=n;i++)
{
if(dp[i]>x)
{
x=dp[i];
}
}
cout<<x;
return 0;
} ``````