• Source
    1. #include <iostream>
    2. #include <vector>
    3. using namespace std;
    4. int main()
    5. {
    6. int t;
    7. cin>>t;
    8. for(int k=1;k<=t;++k)
    9. {
    10. int n;
    11. cin>>n;
    12. vector< vector<int> > a ( n, vector<int>(n,0));
    13. vector< vector<int> > b ( n, vector<int>(n,0));
    14. for(int i=0;i<n;++i)
    15. for(int j=0;j<=i;++j)
    16. cin>>a[i][j];
    17. b[0][0]=a[0][0];
    18. for(int i=0;i<n-1;++i)
    19. for(int j=0;j<=i;++j)
    20. {
    21. b[i+1][j]=max(b[i+1][j],b[i][j]+a[i+1][j]);
    22. b[i+1][j+1]=max(b[i+1][j+1],b[i][j]+a[i+1][j+1]);
    23. }
    24. int ans=b[n-1][0];
    25. for(int i=0;i<n;++i)
    26. ans=max(ans,b[n-1][i]);
    27. cout<<ans<<endl;
    28. }
    29. }