View Code of Problem 65

#include <stdio.h>

int max(int a,int b){
	return a>b?a:b;
}

int fun(int a[][1000],int n,int i,int j){
	if(i+1<n){
		return a[i][j]+max(fun(a,n,i+1,j),fun(a,n,i+1,j+1));
	}else{
		return a[i][j];
	}
}

int main(){
	int t,n;
	scanf("%d",&t);
	while(t--){
		scanf("%d",&n);
		int a[n][1000];
		int sum=0; 
		for(int i=0;i<n;i++){
			for(int j=0;j<i+1;j++){
				scanf("%d",&a[i][j]);
			}
		}
		sum = fun(a,n,0,0);
		printf("%d\n",sum);
	}
}

Double click to view unformatted code.


Back to problem 65