Голосование за лучший ответ
MeLoMaN
Профи
(653)
6 месяцев назад
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
int n = int.Parse(Console.ReadLine());
Dictionary<string, int> earnings = new Dictionary<string, int>();
for (int i = 0; i < n; i++)
{
string[] tripData = Console.ReadLine().Split();
int minutes = int.Parse(tripData[0]);
char tripClass = tripData[1][0];
string driverName = tripData[1].Substring(1);
int pricePerMinute = GetPricePerMinute(tripClass);
int earning = minutes * pricePerMinute;
if (earnings.ContainsKey(driverName))
earnings[driverName] += earning;
else
earnings.Add(driverName, earning);
}
string topEarner = "";
int maxEarnings = int.MinValue;
foreach (var pair in earnings)
{
if (pair.Value > maxEarnings)
{
maxEarnings = pair.Value;
topEarner = pair.Key;
}
}
Console.WriteLine(topEarner);
}
static int GetPricePerMinute(char tripClass)
{
switch (tripClass)
{
case 'E':
return 8;
case 'K':
return 12;
case 'B':
return 24;
default:
throw new ArgumentException("Invalid trip class.");
}
}
}
Денис Дейнека
Знаток
(312)
6 месяцев назад
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
int n = int.Parse(Console.ReadLine());
Dictionary<string, int> earnings = new Dictionary<string, int>();
for (int i = 0; i < n; i++)
{
string[] tripData = Console.ReadLine().Split();
int minutes = int.Parse(tripData[0]);
char tripClass = tripData[1][0];
string driverName = tripData[1].Substring(1);
int pricePerMinute = GetPricePerMinute(tripClass);
int earning = minutes * pricePerMinute;
if (earnings.ContainsKey(driverName))
earnings[driverName] += earning;
else
earnings.Add(driverName, earning);
}
string topEarner = "";
int maxEarnings = int.MinValue;
foreach (var pair in earnings)
{
if (pair.Value > maxEarnings)
{
maxEarnings = pair.Value;
topEarner = pair.Key;
}
}
Console.WriteLine(topEarner);
}
static int GetPricePerMinute(char tripClass)
{
switch (tripClass)
{
case 'E':
return 8;
case 'K':
return 12;
case 'B':
return 24;
default:
throw new ArgumentException("Invalid trip class.");
}
}
}
Входные данные:
Вводится натуральное число n – количество совершенных поездок. Далее вводятся n строк со временем поездки, классом поездки и именем таксиста. В каждой из таких строк идет сначала время (натуральное число), потом пробел, потом класс поездки («E» - эконом, «K» - комфорт, «B» - бизнес) и имя таксиста, без пробелов (строка из латинских букв).
Выходные данные:
Вывести строку – имя водителя такси, заработавшего наибольшее количество денег. Гарантируется, что такой таксист один.
Так, например, если программе на вход будут поданы следующие данные:
5
76 BNata
44 KTimur
94 KAnna
26 KAnna
52 EMikhail
то она должна вывести «Nata».
В поле краткого ответа введите строку, которая получается в результате работы программы на входных данных из файла «6.1.txt»
https://futurecode.rustest.ru/storage/ekim_images/kb_files_c_grille/6.2.txt