View difference between Paste ID: hS2kELzF and A0YM4BHh
SHOW: | | - or go back to the newest paste.
1
using System;
2
using System.Collections.Generic;
3
using System.Linq;
4
5
namespace _04.Files
6
{
7
    public class File
8
    {
9
        public string Name { get; set; }
10
11
        public string Folder { get; set; }
12
13
        public long Size { get; set; }
14
15
    }
16
17
    public class Files
18
    {
19
        public static void Main()
20
        {
21
            var filesNumber = int.Parse(Console.ReadLine());
22
            var allFiles = new List<File>();
23
24
            for (int i = 0; i < filesNumber; i++)
25
            {
26
                var input = Console.ReadLine().Split('\\');
27
                var fileData = input.Last().Split(';');
28
                var fileName = fileData[0];
29
                var fileSize = fileData.Last();
30
31
                var currFile = new File();
32
                currFile.Folder = input[0];
33
                currFile.Name = fileName;
34
                currFile.Size = long.Parse(fileSize);
35
                allFiles.Add(currFile);
36
            }
37
38
            var command = Console.ReadLine().Split(new[] {' '}, StringSplitOptions.RemoveEmptyEntries);
39
            var folder = command.Last();
40
            var ext = command.First();
41
42
            var results = new Dictionary<string,long>();
43
44
            foreach (var file in allFiles)
45
            {
46
                if (file.Folder.Equals(folder) && file.Name.EndsWith(ext))
47
                {
48
                    results[file.Name] = file.Size;
49
                }
50
            }
51
52
            if (results.Count == 0)
53
            {
54
                Console.WriteLine("No");
55
            }
56
57
            else
58
            {
59
                foreach (var result in results.OrderByDescending(r => r.Value).ThenBy(r => r.Key))
60
                {
61
                    Console.WriteLine($"{result.Key} - {result.Value} KB");
62
                }
63
            }
64
        }
65
    }
66
}