Lang:C#
Edit12345678910111213141516171819202122232425262728293031using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace test{class Program{static int[] buildFail(string part){var fail = new int[part.Length];var ptr = fail[0] = -1;for (var i = 1; i < part.Length; i++){while (ptr >= 0 && part[i] != part[ptr + 1]){ptr = fail[ptr];}if (part[ptr + 1] == part[i]){ptr++;}fail[i] = ptr;}return fail;}static void Main(string[] args){var n = int.Parse(Console.ReadLine());