fork(1) download
  1. #zmienne
  2. wyniki, koniec = [], []
  3. czasbrutto, delay = "", ""
  4.  
  5.  
  6. #ilu zawodników
  7. t = int(input())
  8.  
  9. #input do tablicy WYNIKI
  10. for i in range(t):
  11. wyniki.append(input())
  12.  
  13. for i in wyniki:
  14.  
  15. #zmienne tymczasowe
  16. name = ""
  17. liczba = ""
  18. tabczasbrutto = []
  19. tabdelay = []
  20.  
  21.  
  22. # Oddzielanie danych
  23. for j in i:
  24. if j.isalpha() or j == " ":
  25. name += j #wyciąganie liter
  26. else:
  27. liczba +=j #wyciąganie liczb
  28.  
  29. #Rozdzielanie czasów
  30. czasbrutto = liczba[:8] #czas brutto do stringa
  31. delay = liczba[8::] #delay do stringa
  32.  
  33. #string CZASBRUTTO -> tab TABCZASBRUTTO
  34. tabczasbrutto.append(czasbrutto[0:2:])
  35. tabczasbrutto.append(czasbrutto[3:5:])
  36. tabczasbrutto.append(czasbrutto[6:8:])
  37.  
  38. #string DELAY -> tab TABDELAY
  39. tabdelay.append(delay[0:2])
  40. tabdelay.append(delay[3:5])
  41.  
  42. #przerabianie tablic na inty
  43. tabczasbrutto = [int(x) for x in tabczasbrutto]
  44. tabdelay = [int(x) for x in tabdelay]
  45.  
  46.  
  47. #Odejmowanie opóźnienia od czasu brutto
  48. if tabczasbrutto[2] >= tabdelay[1]:
  49. tabczasbrutto[2] -= tabdelay[1]
  50. else:
  51. tabdelay[1] -= tabczasbrutto[2]
  52. tabczasbrutto[2] = 60 - tabdelay[1]
  53. if tabczasbrutto[1] >= 1:
  54. tabczasbrutto[1] -= 1
  55. else:
  56. tabczasbrutto[1] = 60 - tabdelay[1]
  57. tabczasbrutto[0] -= 1
  58.  
  59. #i zapisywanie go jako czas netto
  60. czasnetto = "0" + str(tabczasbrutto[0]) + ":" + str(tabczasbrutto[1]).zfill(2) + ":" + str(tabczasbrutto[2]).zfill(2) #dwa miejsca
  61.  
  62. #formatowanie wyników
  63. zmienna = name.replace(" ", ""), czasnetto, czasbrutto
  64.  
  65. #zapisywanie wyników
  66. koniec.append(zmienna)
  67.  
  68. #sortowanie wyników alfabetycznie
  69. koniec.sort()
  70.  
  71. #sortowanie wyników według czasu
  72. z = 1
  73. for i in sorted(koniec, key=lambda zawodnik: zawodnik[1]): #według czasów
  74. #output
  75. print (z, i[0], i[1], i[2])
  76. z += 1
Success #stdin #stdout 0.04s 9508KB
stdin
10
Bak Adam 00:37:00 00:02
Kakol Piotr 00:40:00 00:01
Kasprowicz Marcin 00:40:01 00:00
Bejnar Mieczyslaw 00:40:02 00:02
Sliwinski Mariusz 00:40:03 00:04
Dlugosz Witold 00:41:11 00:03
Nowaczynski Arkadiusz 00:43:17 00:01
Boniecki Maciej 00:43:18 00:02
Konczak Jaroslaw 00:43:57 00:02
Kraska Bartek 00:43:59 00:04
stdout
1 Bak Adam 00:36:58 00:37:00
2 Kakol Piotr 00:39:59 00:40:00
3 Sliwinski Mariusz 00:39:59 00:40:03
4 Bejnar Mieczyslaw 00:40:00 00:40:02
5 Kasprowicz Marcin 00:40:01 00:40:01
6 Dlugosz Witold 00:41:08 00:41:11
7 Boniecki Maciej 00:43:16 00:43:18
8 Nowaczynski Arkadiusz 00:43:16 00:43:17
9 Konczak Jaroslaw 00:43:55 00:43:57
10 Kraska Bartek 00:43:55 00:43:59