static void Main(string[] args) { int countOfSales = int.Parse(Console.ReadLine()); Sale[] sales = new Sale[countOfSales]; for (int i=0; i<countOfSales; i++) { sales[i] = ReadSale(Console.ReadLine()); } SortedDictionary<string, decimal> dictionary = new SortedDictionary<string, decimal>(); foreach(Sale sale in sales) { if(dictionary.ContainsKey(sale.Town)) { dictionary[sale.Town] += sale.Price * sale.Quantity; } else { dictionary[sale.Town] = sale.Price * sale.Quantity; } } foreach(var pair in dictionary) { Console.WriteLine("{0} -> {1:F2}", pair.Key, pair.Value); } }
static void Main(string[] args) { var n = int.Parse(Console.ReadLine()); var listWithSales = new List<Sale>(); for (int i = 0; i < n; i++) { var input = Console.ReadLine().Split(); var sale = new Sale(input[0], input[1], double.Parse(input[2]), double.Parse(input[3])); listWithSales.Add(sale); } var dict = new Dictionary<string, double>(); foreach (var sale in listWithSales) { if (!dict.ContainsKey(sale.Town)) { dict[sale.Town] = 0; } dict[sale.Town] += sale.Price * sale.Quantity; } foreach (var sale in dict.OrderBy(x => x.Key)) { Console.WriteLine("{0} -> {1:F2}", sale.Key, sale.Value); } }