Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.01 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace Test
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             int n = int.Parse(Console.ReadLine());
  12.  
  13.             List<Employee> employees = new List<Employee>();
  14.  
  15.             for (int i = 0; i < n; i++)
  16.             {
  17.                 string[] input = Console.ReadLine()
  18.                     .Split(" ", StringSplitOptions.RemoveEmptyEntries);
  19.  
  20.                 string name = input[0];
  21.                 double salaryInput = double.Parse(input[1]);
  22.                 string department = input[2];
  23.  
  24.                 Employee employee = new Employee(name,salaryInput,department);
  25.                 employees.Add(employee);
  26.             }
  27.  
  28.             string bestDepartment = string.Empty;
  29.             double bestAvarageSalary = 0.00;
  30.             double salary = 0.00;
  31.             double avarageSalary = 0.00;
  32.  
  33.             employees = employees.OrderBy(x => x.Department).ThenByDescending(x => x.Salary).ToList();
  34.  
  35.             List<string> departments = new List<string>();
  36.  
  37.             foreach (var person in employees)
  38.             {
  39.                 string department = person.Department;
  40.  
  41.                 if (departments.Count() == 0)
  42.                 {
  43.                     departments.Add(department);
  44.                     salary += person.Salary;
  45.                     bestAvarageSalary = salary;
  46.                     bestDepartment = department;
  47.                     continue;
  48.                 }
  49.                 if (!departments.Contains(department))
  50.                 {
  51.                     departments.Add(department);
  52.                     salary = person.Salary;
  53.                     if (salary > bestAvarageSalary)
  54.                     {
  55.                         bestAvarageSalary = salary;
  56.                         bestDepartment = department;
  57.                         continue;
  58.                     }
  59.                 }
  60.                 else
  61.                 {
  62.                     salary += person.Salary;
  63.                     avarageSalary = salary / 2;
  64.                     if (salary > bestAvarageSalary)
  65.                     {
  66.                         bestAvarageSalary = salary;
  67.                         bestDepartment = department;
  68.                         continue;
  69.                     }
  70.                 }
  71.             }
  72.  
  73.             Console.WriteLine($"Highest Average Salary: {bestDepartment}");
  74.  
  75.             foreach (var person in employees)
  76.             {
  77.                 if (person.Department == bestDepartment)
  78.                 {
  79.                     Console.WriteLine($"{person.Name} {person.Salary:f2}");
  80.                 }
  81.             }
  82.         }
  83.     }
  84.     class Employee
  85.     {
  86.         public Employee(string name,double salary,string department)
  87.         {
  88.             Name = name;
  89.             Salary = salary;
  90.             Department = department;
  91.         }
  92.         public string Name { get; set; }
  93.         public double Salary { get; set; }
  94.         public string Department { get; set; }
  95.     }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement