import java.io.File; import java.io.FileNotFoundException; import java.util.HashMap; import java.util.Scanner; public class main { static final String inputFileName = "input.txt"; //input file name which in current directory static HashMap primeList = new HashMap<>(); //create hashmap for keep prime number public static void main(String[] args) { int line = getTriangleLength(); //determine triangle height int arraySize = (line * (line + 1)) / 2; // calculate enough space for keep triangle int[] triangle = new int[arraySize]; //create array for keep inputs int[] dynamicTriangle; // create dynamic array for use dynamic iterations. int[] indexTable = new int[line]; // indexTable keeps start index for each line. fillTriangle(triangle); // read input from file and fill arrays dynamicTriangle = triangle.clone(); fillIndexTable(indexTable,line); int maxSum = findMaxSum(triangle,dynamicTriangle,indexTable,line); //calculate maxSum System.out.println(maxSum); } static int findMaxSum(int[] triangle,int[] dynamicTriangle,int[] indexTable,int size){ boolean leftChildIsPrime; boolean rightChildIsPrime; int leftChild; int rightChild; int index; for (int i = size-1; i > 0 ; i--) { for (int j = 0; j