Advertisement
PIBogdanov

03. Concert

Dec 11th, 2023
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.96 KB | None | 0 0
  1. namespace _03.Concert;
  2.  
  3. internal class Program
  4. {
  5.     static void Main(string[] args)
  6.     {
  7.         string command;
  8.  
  9.         int totalTime = 0;
  10.  
  11.         Dictionary<string, int> bandTime = new();
  12.  
  13.         Dictionary<string, List<string>> bandMembers = new();
  14.  
  15.         while ( (command = Console.ReadLine()) != "Start!" )
  16.         {
  17.             string[] input = command.Split("; ", StringSplitOptions.RemoveEmptyEntries);
  18.  
  19.             string action = input[0];
  20.  
  21.             string band = input[1];
  22.  
  23.             if (action == "Add")
  24.             {
  25.                 List<string> members = input[2].Split(", ").ToList();
  26.  
  27.                 if (!bandMembers.ContainsKey(band))
  28.                 {
  29.                     bandMembers.Add(band, new List<string>());
  30.                 }
  31.  
  32.                 for (int i = 0; i < members.Count; i++)
  33.                 {
  34.                     if (!bandMembers[band].Contains(members[i]))
  35.                     {
  36.                         bandMembers[band].Add(members[i]);
  37.                     }
  38.                 }
  39.             }
  40.  
  41.             else if (action == "Play")
  42.             {
  43.                 int time = int.Parse(input[2]);
  44.  
  45.                 totalTime += time;
  46.  
  47.                 if (!bandTime.ContainsKey(band))
  48.                 {
  49.                     bandTime.Add(band, time);
  50.                 }
  51.  
  52.                 else
  53.                 {
  54.                     bandTime[band] += time;
  55.                 }
  56.             }
  57.         }
  58.  
  59.         Console.WriteLine($"Total time: {totalTime}");
  60.  
  61.         foreach (KeyValuePair<string, int> band in bandTime)
  62.         {
  63.             Console.WriteLine($"{band.Key} -> {band.Value}");
  64.         }
  65.  
  66.         KeyValuePair<string, List<string>> firstBand = bandMembers.FirstOrDefault();
  67.  
  68.         if (firstBand.Key != null)
  69.         {
  70.             Console.WriteLine(firstBand.Key);
  71.  
  72.             Console.WriteLine("=> " + string.Join(Environment.NewLine + "=> ", firstBand.Value));
  73.         }
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement