using System.Collections.Generic;
static void Main(string[] args)
Dictionary<string, List<int>> bids = new Dictionary<string, List<int>>
{ "A", new List<int> { 110, 130 } },
{ "C", new List<int> { 125 } },
{ "D", new List<int> { 105, 115, 90 } },
{ "E", new List<int> { 132, 135, 140 } },
int winningBid = bids.Values
.Where(price => price >= reservePrice)
int secondHighestBid = bids.Where(bid => !bid.Value.Contains(winningBid))
.SelectMany(bid => bid.Value)
.Where(price => price >= reservePrice)
.DefaultIfEmpty(reservePrice)
string winningBidderName = bids.FirstOrDefault(pair => pair.Value.Contains(winningBid)).Key;
Console.WriteLine("The buyer {0} wins the auction at the price of {1} euros.", winningBidderName, secondHighestBid);