Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace Messages_Manager
- {
- class Program
- {
- static void Main(string[] args)
- {
- int capacity = int.Parse(Console.ReadLine());
- Dictionary<string, int[]> usersMessages = new Dictionary<string, int[]>();
- string input = Console.ReadLine();
- while (input != "Statistics")
- {
- string[] token = input.Split("=");
- string command = token[0];
- if (command == "Add")
- {
- string username = token[1];
- int sent = int.Parse(token[2]);
- int received = int.Parse(token[3]);
- if (!usersMessages.ContainsKey(username))
- {
- usersMessages[username] = new int[2] { sent, received };
- }
- }
- else if (command == "Message")
- {
- string sender = token[1];
- string receiver = token[2];
- if(usersMessages.ContainsKey(sender) && usersMessages.ContainsKey(receiver))
- {
- usersMessages[sender][0]++;
- usersMessages[receiver][1]++;
- }
- if(usersMessages[sender][0] + usersMessages[sender][1] >= capacity)
- {
- Console.WriteLine($"{sender} reached the capacity!");
- usersMessages.Remove(sender);
- }
- if(usersMessages[receiver][0] + usersMessages[receiver][1] >= capacity)
- {
- Console.WriteLine($"{receiver} reached the capacity!");
- usersMessages.Remove(receiver);
- }
- }
- else if (command == "Empty")
- {
- string username = token[1];
- if(username == "All")
- {
- usersMessages.Clear();
- }
- else
- {
- if (usersMessages.ContainsKey(username))
- {
- usersMessages.Remove(username);
- }
- }
- }
- input = Console.ReadLine();
- }
- Console.WriteLine($"Users count: {usersMessages.Count}");
- usersMessages = usersMessages
- .OrderByDescending(x => x.Value[1])
- .ThenBy(x => x.Key)
- .ToDictionary(x => x.Key, x => x.Value);
- foreach (var kvp in usersMessages)
- {
- Console.WriteLine($"{kvp.Key} - {kvp.Value[0] + kvp.Value[1]}");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement