Advertisement
Guest User

HornetArmada

a guest
Oct 20th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5.  
  6. public class HornetArmada
  7. {
  8. public static void Main()
  9. {
  10. //STORAGE
  11. Dictionary<string, Activity> activities = new Dictionary<string, Activity>();
  12.  
  13. // GET ALL INPUT AND SAVE TO STORAGE
  14. int inputCount = int.Parse(Console.ReadLine());
  15. for (int i = 0; i < inputCount; i++)
  16. {
  17. string[] input = Console.ReadLine().Split(new[] { ' ', '=', '-', '>', ':' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToArray();
  18. string regionName = input[1];
  19.  
  20. if (activities.ContainsKey(regionName))
  21. {
  22. activities[regionName].ActNumber.Add(int.Parse(input[0]));
  23. activities[regionName].RegionName = regionName;
  24. activities[regionName].SoldierTypes.Add(input[2]);
  25. activities[regionName].SoldierCount += long.Parse(input[3]);
  26. }
  27. else
  28. {
  29. Activity act = new Activity();
  30. act.ActNumber.Add(long.Parse(input[0]));
  31. act.RegionName = regionName;
  32. act.SoldierTypes.Add(input[2]);
  33. act.SoldierCount += long.Parse(input[3]);
  34. activities.Add(regionName,act);
  35. }
  36. }
  37. string[] lastInput = Console.ReadLine().Split('\\');
  38.  
  39. //MAIN LOGIC
  40. if (lastInput.Length == 1)
  41. {
  42. var a = activities.Where(x => x.Value.SoldierTypes.Contains(lastInput[0].Trim()));
  43.  
  44. Dictionary<string, long> additionalVariableForPrintingResult = new Dictionary<string, long>();
  45. foreach (var item in a)
  46. {
  47. additionalVariableForPrintingResult.Add(item.Key,item.Value.ActNumber.Max());
  48. }
  49. //PRINT TO CONSOLE
  50. foreach (var item in additionalVariableForPrintingResult.OrderByDescending(x=>x.Value))
  51. {
  52. Console.WriteLine($"{item.Value} : {item.Key}");
  53. }
  54. }
  55. }
  56. }
  57.  
  58. public class Activity
  59. {
  60. public List<long> ActNumber = new List<long>();
  61. public string RegionName { get; set; }
  62. public List<string> SoldierTypes = new List<string>();
  63. public long SoldierCount { get; set; }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement