Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Collections.Generic;
- using System.Text.RegularExpressions;
- using System.Text;
- public class Program
- {
- public static void Main()
- {
- Dictionary<string,int> bandTime = new Dictionary<string,int>();
- Dictionary<string,List<string>> bandMembers = new Dictionary<string,List<string>>();
- while (true)
- {
- string command = Console.ReadLine();
- if (command == "start of concert")
- {
- break;
- }
- string[] tokens = command.Split("; ");
- string action = tokens[0];
- if (action == "Play")
- {
- string bandName = tokens[1];
- int time = int.Parse(tokens[2]);
- if (!bandTime.ContainsKey(bandName))
- {
- bandTime.Add(bandName,time);
- }
- else
- {
- bandTime[bandName]+=time;
- }
- if (!bandMembers.ContainsKey(bandName))
- {
- bandMembers.Add(bandName,new List<string>());
- }
- }
- else
- {
- string bandName = tokens[1];
- if (!bandTime.ContainsKey(bandName))
- {
- bandTime.Add(bandName,0);
- }
- if (!bandMembers.ContainsKey(bandName))
- {
- bandMembers.Add(bandName,new List<string>());
- }
- string[] members = tokens[2].Split(", ");
- List<string> membersOfBand = new List<string>();
- foreach (string member in members)
- {
- membersOfBand.Add(member);
- }
- foreach (string member in membersOfBand)
- {
- if (!bandMembers[bandName].Contains(member))
- {
- bandMembers[bandName].Add(member);
- }
- }
- membersOfBand.Clear();
- }
- }
- int totalTime =0;
- foreach (var kvp in bandTime)
- {
- int time = kvp.Value;
- totalTime+=time;
- }
- Console.WriteLine("Total time: {0}",totalTime);
- foreach (var kvp in bandTime.OrderByDescending(x=>x.Value).ThenBy(x=>x.Key))
- {
- Console.WriteLine("{0} -> {1}",kvp.Key,kvp.Value);
- }
- string finalInput = Console.ReadLine();
- var filtered = bandMembers.Where(x=>x.Key==finalInput);
- Console.WriteLine("{0}",finalInput);
- foreach (var kvp in filtered)
- {
- List<string> members = kvp.Value;
- foreach (var member in members)
- {
- Console.WriteLine("=> {0}",member);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement