fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. public class Test
  6. {
  7. private static IEnumerable<string> ReadAllLines()
  8. {
  9. for (string line; (line=Console.ReadLine()) != null; )
  10. yield return line;
  11. }
  12.  
  13. public static void Main()
  14. {
  15. var res = from line in ReadAllLines().Skip(1) select line.Split(',') into parts
  16. group parts by parts[2] into g
  17. select new
  18. {
  19. Name = g.Key,
  20. TotalTime = g.Select(x => TimeSpan.Parse(x[4])).Aggregate(new TimeSpan(), (a,b) => a+b)
  21. };
  22.  
  23. Console.WriteLine("{0}", String.Join("\n", res));
  24. }
  25. }
Success #stdin #stdout 0.09s 24384KB
stdin
**#,LM,Jam ID,Date Occurred,Time Jammed,Rc,Rt,Cl,Jam Text**
001,03,043,04/07/15 16:02,00:00:25,00,00,00,Indexer #1 shot pin state is unknown
002,02,030,09/24/15 16:39,00:00:04,00,00,01,ATT unable to detect tray at Gripper
003,01,044,09/24/15 16:38,00:00:25,00,00,01,Main tray is hanging on guides or stuck in gripper.
004,01,044,09/24/15 16:36,00:01:51,00,01,00,Main tray is hanging on guides or stuck in gripper.
005,02,030,09/24/15 15:11,00:00:04,00,00,01,ATT unable to detect tray at Gripper
006,01,044,09/24/15 15:10,00:00:27,00,01,00,Main tray is hanging on guides or stuck in gripper.
007,01,044,09/24/15 15:10,00:00:21,00,01,00,Main tray is hanging on guides or stuck in gripper.
008,02,030,09/21/15 15:17,00:00:19,00,00,01,ATT unable to detect tray at Gripper
009,01,045,09/21/15 15:15,00:01:32,00,01,00,Aux tray is hanging on guides or stuck in gripper.
010,01,045,09/21/15 15:15,00:00:17,00,01,00,Aux tray is hanging on guides or stuck in gripper.
011,04,030,09/18/15 19:28,00:00:55,01,02,00,Missing sort device(s) on sort boat. B1
012,05,029,09/18/15 19:24,00:01:39,06,06,01,TS Picker missing parts:Ck #1 A1
013,05,016,09/18/15 19:21,00:01:12,00,01,00,Picker detects parts stuck in nests:Ck #1 A1
014,05,016,09/18/15 19:20,00:00:23,00,01,00,Picker detects parts stuck in nests:Ck #1 A1
015,05,016,09/18/15 19:17,00:01:07,02,03,00,Picker detects parts stuck in nests:Ck #1 A1
016,05,016,09/18/15 19:15,00:00:17,00,01,00,Picker detects parts stuck in nests:Ck #1 A1
017,05,029,09/18/15 01:52,00:00:18,00,01,00,TS Picker missing parts:Ck #1 A1
018,05,029,09/17/15 17:09,00:00:05,00,01,00,TS Picker missing parts:Ck #1 A1
019,05,029,09/17/15 17:05,00:00:06,00,01,00,TS Picker missing parts:Ck #1 A1
020,05,029,09/17/15 16:35,00:00:07,00,01,00,TS Picker missing parts:Ck #1 A1
021,05,029,09/17/15 15:37,00:00:08,00,01,00,TS Picker missing parts:Ck #1 A1
022,02,030,09/17/15 15:22,00:00:56,01,01,01,ATT unable to detect tray at Gripper
023,05,029,09/17/15 12:17,02:29:47,01,02,00,TS Picker missing parts:Ck #1 A1
024,02,016,09/17/15 12:25,00:02:15,02,03,00,ATT unable to open the Gripper
025,05,029,09/17/15 12:11,00:00:24,00,01,00,TS Picker missing parts:Ck #1 A1
026,05,029,09/17/15 09:50,00:00:06,00,01,00,TS Picker missing parts:Ck #1 A1
027,05,029,09/17/15 09:49,00:00:10,00,01,00,TS Picker missing parts:Ck #1 A1
028,05,015,09/17/15 09:48,00:00:04,00,01,00,Picker can't detect all parts:Ck #1 A1
029,05,015,09/17/15 09:47,00:00:05,00,01,00,Picker can't detect all parts:Ck #1 A1
stdout
{ Name = 043, TotalTime = 00:00:25 }
{ Name = 030, TotalTime = 00:02:18 }
{ Name = 044, TotalTime = 00:03:04 }
{ Name = 045, TotalTime = 00:01:49 }
{ Name = 029, TotalTime = 02:32:50 }
{ Name = 016, TotalTime = 00:05:14 }
{ Name = 015, TotalTime = 00:00:09 }