static int IndexOfLastNegative<T>(IList<T> a) where T: INumber<T> => a.Count - a.Reverse().TakeWhile(x => x.CompareTo(T.Zero) >= 0).Count() - 1;
индекс последнего отрицательного элемента массива.