Exemple #1
0
        public override IEnumerable <object> Solve(TextReader inputStream)
        {
            Modular.InitializeCombinationTable();
            var n     = inputStream.ReadInt();
            var a     = inputStream.ReadIntArray();
            var diffs = new Modular[a.Length - 1];

            for (int i = 0; i < diffs.Length; i++)
            {
                diffs[i] = new Modular(Math.Abs(a[i] - a[i + 1]));
            }

            var result = Modular.GetZero();

            for (int i = 0; i < diffs.Length; i++)
            {
                result += diffs[i] * Modular.Combination(diffs.Length - 1, i);
            }

            yield return(result);
        }