fork(1) download
  1. def insert(pages, index):
  2. value = pages.pop(index)
  3. for i, elem in enumerate(pages):
  4. if value == elem:
  5. return i
  6. if value < elem:
  7. pages.insert(i, value)
  8. return i
  9. pages.append(value)
  10. return len(pages) - 1
  11.  
  12. q = int(input())
  13.  
  14. runners = {}
  15. pages = []
  16. for i in range(q):
  17. query = input().split(' ')
  18. runner = int(query[1])
  19. if query[0] == 'RUN':
  20. page = int(query[2])
  21. if runners.get(runner) is not None:
  22. pages[runners[runner]] = page
  23. runners[runner] = insert(pages, index=runners[runner])
  24. else:
  25. pages.append(page)
  26. runners[runner] = insert(pages, index=-1)
  27. if query[0] == 'CHEER':
  28. if runners.get(runner) is None:
  29. print("{:.6f}".format(0.0))
  30. else:
  31. print(runners, runners.values())
  32. if len(runners.values()) == 1:
  33. print("{:.6f}".format(1.0))
  34. else:
  35. print("{:.6f}".format((runners[runner] - 1)/len(runners.values())))
  36.  
Success #stdin #stdout 0.02s 9360KB
stdin
12
CHEER 5
RUN 1 10
CHEER 1
RUN 2 5
RUN 3 7
CHEER 2
CHEER 3
RUN 3 10
CHEER 3
RUN 3 11
CHEER 3
CHEER 1
stdout
0.000000
{1: 0} dict_values([0])
1.000000
{1: 0, 2: 0, 3: 1} dict_values([0, 0, 1])
-0.333333
{1: 0, 2: 0, 3: 1} dict_values([0, 0, 1])
0.000000
{1: 0, 2: 0, 3: 1} dict_values([0, 0, 1])
0.000000
{1: 0, 2: 0, 3: 1} dict_values([0, 0, 1])
0.000000
{1: 0, 2: 0, 3: 1} dict_values([0, 0, 1])
-0.333333