rendered paste bodyimport java.io.*;
import java.util.*;
class Trekendeshi
{
public static void main(String[] args) throws IOException
{
int rreshtat, a, b = 0;
int[] vargu;
int[][] trekendeshi;
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Fut numrin e rreshtave te pemes:");
rreshtat = Integer.parseInt(stdin.readLine());
a = rreshtat;
trekendeshi = new int[rreshtat][rreshtat];
while(rreshtat > 0)
{
System.out.println("Fut rreshtin " + (a - rreshtat + 1) + ":");
String[] ndarja = (stdin.readLine()).split(" ");
for(int i = 0; i < ndarja.length; i++) trekendeshi[b][i] = Integer.parseInt(ndarja[i]);
b++;
rreshtat--;
}
vargu = new int[rreshtat];
vargu = largestSum(trekendeshi, 0, 0, vargu);
for(int i =0; i < vargu.length; i++) System.out.print(vargu[i] + " ");
System.out.println("\n" + sum(vargu));
System.out.println(lg(trekendeshi, 0, 0));
}
public static int lg(int[][] trekendeshi, int i, int j)
{
int sum1 = 0, sum2 = 0;
if(i < trekendeshi.length && j < trekendeshi.length)
{
sum1 = trekendeshi[i][j] + lg(trekendeshi, i+1, j);
sum2 = trekendeshi[i][j] + lg(trekendeshi, i+1, j+1);
}
if(sum1 > sum2) return sum1;
else return sum2;
}
public static int[] largestSum(int[][] trekendeshi, int i, int j, int[] vargu)
{
int[] vargu1 = vargu, vargu2 = vargu;
if(i < trekendeshi.length && j < trekendeshi.length)
{
vargu1[i] = trekendeshi[i][j];
vargu1 = largestSum(trekendeshi, i+1, j, vargu1);
vargu2[i] = trekendeshi[i][j];
vargu2 = largestSum(trekendeshi, i+1, j+1, vargu2);
}
if(sum(vargu1) > sum(vargu2)) return vargu1;
else return vargu2;
}
public static int sum(int[] array)
{
int sum = 0;
for(int i = 0; i < array.length; i++) sum += array[i];
return sum;
}
}