using System;
using System.Linq;
using System.Collections.Generic;
class Program
{
class Applicant
{
public int SchoolNumber { get; set; }
public int Year { get; set; }
public string LastName { get; set; }
}
static void Main()
{
List<Applicant> applicants = new List<Applicant>
{
new Applicant { SchoolNumber = 101, Year = 2020, LastName = "Smith" },
new Applicant { SchoolNumber = 56, Year = 2020, LastName = "Johnson" },
new Applicant { SchoolNumber = 78, Year = 2021, LastName = "Williams" },
new Applicant { SchoolNumber = 90, Year = 2021, LastName = "Jones" },
new Applicant { SchoolNumber = 110, Year = 2022, LastName = "Brown" },
new Applicant { SchoolNumber = 95, Year = 2022, LastName = "Davis" }
};
var result = applicants.GroupBy(a => a.Year) // Группируем по году
.OrderBy(g => g.Key) // Сортируем по году
.Select(g => $"{g.Key}: {g.Max(a => a.SchoolNumber)}") // Ищем школу с макс. номером
.ToList();
Console.WriteLine(string.Join("\n", result));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CgpjbGFzcyBQcm9ncmFtCnsKICAgIGNsYXNzIEFwcGxpY2FudAogICAgewogICAgICAgIHB1YmxpYyBpbnQgU2Nob29sTnVtYmVyIHsgZ2V0OyBzZXQ7IH0KICAgICAgICBwdWJsaWMgaW50IFllYXIgeyBnZXQ7IHNldDsgfQogICAgICAgIHB1YmxpYyBzdHJpbmcgTGFzdE5hbWUgeyBnZXQ7IHNldDsgfQogICAgfQoKICAgIHN0YXRpYyB2b2lkIE1haW4oKQogICAgewogICAgICAgIExpc3Q8QXBwbGljYW50PiBhcHBsaWNhbnRzID0gbmV3IExpc3Q8QXBwbGljYW50PgogICAgICAgIHsKICAgICAgICAgICAgbmV3IEFwcGxpY2FudCB7IFNjaG9vbE51bWJlciA9IDEwMSwgWWVhciA9IDIwMjAsIExhc3ROYW1lID0gIlNtaXRoIiB9LAogICAgICAgICAgICBuZXcgQXBwbGljYW50IHsgU2Nob29sTnVtYmVyID0gNTYsIFllYXIgPSAyMDIwLCBMYXN0TmFtZSA9ICJKb2huc29uIiB9LAogICAgICAgICAgICBuZXcgQXBwbGljYW50IHsgU2Nob29sTnVtYmVyID0gNzgsIFllYXIgPSAyMDIxLCBMYXN0TmFtZSA9ICJXaWxsaWFtcyIgfSwKICAgICAgICAgICAgbmV3IEFwcGxpY2FudCB7IFNjaG9vbE51bWJlciA9IDkwLCBZZWFyID0gMjAyMSwgTGFzdE5hbWUgPSAiSm9uZXMiIH0sCiAgICAgICAgICAgIG5ldyBBcHBsaWNhbnQgeyBTY2hvb2xOdW1iZXIgPSAxMTAsIFllYXIgPSAyMDIyLCBMYXN0TmFtZSA9ICJCcm93biIgfSwKICAgICAgICAgICAgbmV3IEFwcGxpY2FudCB7IFNjaG9vbE51bWJlciA9IDk1LCBZZWFyID0gMjAyMiwgTGFzdE5hbWUgPSAiRGF2aXMiIH0KICAgICAgICB9OwogICAgICAgIAogICAgICAgIHZhciByZXN1bHQgPSBhcHBsaWNhbnRzLkdyb3VwQnkoYSA9PiBhLlllYXIpIC8vINCT0YDRg9C/0L/QuNGA0YPQtdC8INC/0L4g0LPQvtC00YMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5PcmRlckJ5KGcgPT4gZy5LZXkpIC8vINCh0L7RgNGC0LjRgNGD0LXQvCDQv9C+INCz0L7QtNGDCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuU2VsZWN0KGcgPT4gJCJ7Zy5LZXl9OiB7Zy5NYXgoYSA9PiBhLlNjaG9vbE51bWJlcil9IikgLy8g0JjRidC10Lwg0YjQutC+0LvRgyDRgSDQvNCw0LrRgS4g0L3QvtC80LXRgNC+0LwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5Ub0xpc3QoKTsKICAgICAgICAKICAgICAgICBDb25zb2xlLldyaXRlTGluZShzdHJpbmcuSm9pbigiXG4iLCByZXN1bHQpKTsKICAgIH0KfQ==