using System; using System.Collections.Generic; using System.IO; using System.Linq; class Solution { static int solve(List A) { // Return the length of the longest possible sequence of moves modulo 10^9+7. int result = 0; List sa = CreateList(A); List ssa = CreateList(sa); for (int i=0; i CreateList(List inputArray) { var result = new List(); for (int k=0; k < inputArray.Count; ++k) { for (int i=0; i < (inputArray.Count - k); ++i) { int j = i + k; result.Add(GetMax(i, j+1, inputArray)); } } return result; } static int GetMax(int start, int end, List list) { int result = 0; for (int i=start; i result) result = list[i]; } return result; } }