View Code of Problem 288

#include<iostream>
using namespace std;
int main(){
	int n;
	while(cin>>n&&n!=0){
		int a[n][n];
		for(int i=0;i<n;++i){
			for(int j=0;j<=i;j++){
				scanf("%d",&a[i][j]);
			}
		}
		for(int i=1;i<n;++i){
			a[i][0]+=a[i-1][0];
			a[i][i]+=a[i-1][i-1];
		}
		int minx=-1;
		for(int i=1;i<n;++i){
			for(int j=1;j<i;++j){
				a[i][j]+=max(a[i-1][j],a[i-1][j-1]);
			}
		}
		for(int i=0;i<n;++i){
			minx=max(a[n-1][i],minx);
		}
		cout<<minx<<endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 288