public override object SolveOne() { for (int i = Preamble; i < LongRows.Count; i++) { if (!Combinations(LongRows.GetRange(i - Preamble, Preamble)).Contains(LongRows[i])) { return(LongRows[i]); } } return(0); }
public override object SolveTwo() { long target = (long)SolveOne(); for (int i = 0; i < LongRows.Count; i++) { long sum = 0; for (int j = i; j < LongRows.Count; j++) { sum += LongRows[j]; if (sum == target) { var range = LongRows.GetRange(i, j - i + 1); return(range.Max() + range.Min()); } } } return(0); }