Advertisement
Guest User

Untitled

a guest
Jul 18th, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. import sys
  2. import math
  3.  
  4. # Auto-generated code below aims at helping you parse
  5. # the standard input according to the problem statement.
  6.  
  7. robbers = int(raw_input())
  8. vaults = int(raw_input())
  9. print >> sys.stderr, robbers, vaults
  10.  
  11. numbers = 10
  12. vowels = 5
  13.  
  14. characters = [0] * vaults
  15. digits = [0] * vaults
  16.  
  17. def process_window(window_length, seconds):
  18. lowest_seconds = 999999999999999999999999999999999999999999999999999999999
  19. for i in xrange(window_length):
  20. if seconds[i] < lowest_seconds:
  21. lowest_seconds = seconds[i]
  22. return lowest_seconds
  23.  
  24. def find_blanks(window_length, seconds):
  25. index = []
  26. for i in xrange(window_length):
  27. if seconds[i] == 0:
  28. index.append(i)
  29. return index
  30.  
  31.  
  32. for i in xrange(vaults):
  33. characters[i], digits[i] = [int(j) for j in raw_input().split()]
  34. print >> sys.stderr, characters[i], digits[i]
  35.  
  36. # Write an action using print
  37. # To debug: print >> sys.stderr, "Debug messages..."
  38. seconds = []
  39.  
  40. # compute seconds for each vault
  41. for i in xrange(vaults):
  42. first_combo = pow(numbers, digits[i])
  43. num_charcters = characters[i] - digits[i]
  44. second_combo = pow(vowels, num_charcters)
  45. seconds.append(first_combo * second_combo)
  46.  
  47.  
  48. total_seconds = 0
  49. print >> sys.stderr, seconds
  50. while seconds:
  51. time_taken = 0
  52. window_length = 0
  53. # find windows length
  54. if robbers < len(seconds):
  55. window_length = robbers
  56. else:
  57. window_length = len(seconds)
  58. # find time in window
  59. time_taken = process_window(window_length, seconds)
  60. total_seconds += time_taken
  61.  
  62. ## take time and remove 0 time elements
  63. for i in xrange(window_length):
  64. seconds[i] = seconds[i] - time_taken
  65. items_to_remove = find_blanks(window_length, seconds)
  66.  
  67. for item in items_to_remove:
  68. seconds.pop(item)
  69. print >> sys.stderr, time_taken, seconds, total_seconds
  70.  
  71. print total_seconds
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement