1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| def solution(users, emoticons):
maplus = 0
macost = 0
n = [10] * len(emoticons)
dic = {10:[], 20:[], 30:[], 40:[]}
for i in emoticons:
dic[10].append(int(i * 0.9))
dic[20].append((i * 0.8))
dic[30].append(int(i * 0.7))
dic[40].append((i * 0.6))
while n[0] <41:
plus = 0
cost = 0
money = [0] * len(users)
for i in range(len(users)):
for j in range(len(emoticons)):
if users[i][0] <= n[j]:
money[i] += dic[n[j]][j]
if money[i] >= users[i][1]:
plus += 1
else:
cost += money[i]
if plus > maplus:
maplus = plus
macost = cost
elif plus == maplus:
macost = cost if macost < cost else macost
n[-1] += 10
for i in range(len(emoticons) - 1, 0, -1):
if n[i] > 40:
n[i - 1] += 10
n[i] -= 40
answer = [maplus, macost]
return answer
|