using System.Collections.Generic;
public Record(string name, int amount)
public static void Main()
List<Record> records = new List<Record>()
new Record("Alice", 1), new Record("Bob", 5), new Record("Charly", 4), new Record("Laverne", 4), new Record("Lenny", 2), new Record("Shirley", 3), new Record("Squiggy", 5)}
var result = records.Aggregate(new List<List<Record>>(), (accumulated, next) =>
if ((sum + next.Amount >= groupLimit) || accumulated.Count() == 0)
Console.WriteLine("New team: " + accumulated.Count());
accumulated.Add(new List<Record>());
Console.WriteLine("New member {0} ({1}): adds up to {2} ", next.Name, next.Amount, sum);
accumulated.Last().Add(next);
Console.WriteLine("Team count: " + result.Count());