View Code of Problem 65

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<vector>
#include<map>
#include<string>
#include<set>
using namespace std;
int N[1000][1000];
int row;
int Maxsum(int i,int j){
	if(i==row)
		return N[i][j];
	int x=Maxsum(i+1,j);
	int y=Maxsum(i+1,j+1);
	return max(x,y)+N[i][j];
}
int main(void){
	int num;
	cin>>num;
	while(num--){
		cin>>row;
		for(int i=1;i<=row;i++){
			for(int j=1;j<=i;j++){
				scanf("%d",&N[i][j]);
			}	
		} 
		
		cout<<Maxsum(1,1)<<endl;
	}
	
}

Double click to view unformatted code.


Back to problem 65