using System;
using System.Linq;
public class Program
{
public static void Main()
int[] arr = { 1, 2, 2, 1, 2, 2, 2, 3, 3, 3, 3 };
var r = arr.Select((x, i) => arr.Skip(i).TakeWhile(y => y == x)).OrderByDescending(x => x.Count());
r.Dump();
}