啊米诺斯,数字三角形TLE了,求改
#include<bits/stdc++.h>
using namespace std;
int a[1145][1145],c[1145][1145],n;
int func(int i,int j){
if(c[i][j]!=0)return c[i][j];
if(i==n)return a[i][j];
c[i][j]=max(func(i+1,j),func(i+1,j+1))+a[i][j];
return c[i][j];
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)for(int j=1;j<=i;j++)cin>>a[i][j];
cout<<func(1,1);
return 0;
}