Advertisement
Guest User

Untitled

a guest
May 26th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.78 KB | None | 0 0
  1. import math
  2. from operator import itemgetter
  3.  
  4. count = int(input())
  5.  
  6. rows = [input().strip() for i in range(count)]
  7.  
  8. # rows = [
  9. # "Космопит (300 г): Крем-суп грибной - 400, Борщ - 410",
  10. # "АстроЕда (150 г): Борщ - 210, Крем-суп грибной - 220"
  11. # ]
  12.  
  13. # rows = [
  14. # "АстроЕда (150 г): Борщ - 200, Крем-суп грибной - 185",
  15. # "Космопит (300 г): Торт Москва - 410, Борщ - 450"
  16. # ]
  17.  
  18.  
  19. items = []
  20. global_eats = {}
  21. minimums = {}
  22. for row in rows:
  23. brandAndWeight, eats = row.split(': ')
  24. brand, weight = brandAndWeight.split(' (')
  25. weight = weight.replace(' г)', '')
  26. eats = eats.split(', ')
  27. for eat in eats:
  28. name, price = eat.split(' - ')
  29. cost = math.ceil(300 / int(weight)) * int(price)
  30. items.append({
  31. 'brand': brand,
  32. 'name': name,
  33. 'price': price,
  34. 'cost': cost,
  35. 'weight': math.ceil(300 / int(weight)) * int(weight)
  36. })
  37.  
  38. if name in global_eats:
  39. global_eats[name] += cost
  40. else:
  41. global_eats[name] = cost
  42.  
  43. if name in minimums:
  44. if int(minimums[name]) > int(price):
  45. minimums[name] = price
  46. else:
  47. minimums[name] = price
  48.  
  49. global_eats = sorted(global_eats.items(), key = lambda i: i[1])
  50. minimums = sorted(minimums.items(), key = lambda i: i[1])
  51. minimums.reverse()
  52. # print(minimums[0][1])
  53.  
  54. items = sorted(items, key=lambda i: i['cost'])
  55. items.reverse()
  56. brandname = ''
  57. # eatname = global_eats[0][0]
  58. eatname = minimums[0][0]
  59.  
  60. print(eatname + ':')
  61.  
  62. for item in items:
  63. if (eatname == item['name']):
  64. print(' - '.join([item['brand'], str(item['cost'])]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement