Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- n = 0 # количество элементов стеков
- k = 0 # сумма элементов стеков
- limit_int = random.randint(0, 65535) # рандомное ограничение (по условиям задачи тот самый Х)
- size1 = random.randint(5, 10 ** 5) # генератор размера первого стека
- size2 = random.randint(5, 10 ** 5) # генератор размера второго стека
- stack1 = [random.randint(0, 100) for i in range(size1)] # генератор первого стека (сгенерирут случайное целое число от 0 до 100 и положит в стек)
- stack2 = [random.randint(0, 100) for i in range(size2)] # генератор второго стека
- while k <= limit_int:
- if len(stack1) == 0 and len(stack2) == 0:
- break
- elif len(stack1) == 0 and (k + stack2[-1]) <= limit_int:
- k += stack2.pop()
- n += 1
- elif len(stack2) == 0 and (k + stack1[-1]) <= limit_int:
- k += stack1.pop()
- n += 1
- elif stack1[-1] <= stack2[-1] and (k + stack1[-1]) <= limit_int:
- k += stack1.pop()
- n += 1
- elif stack2[-1] <= stack1[-1] and (k + stack2[-1]) <= limit_int:
- k += stack2.pop()
- n += 1
- else:
- break
- print(k) # итоговая сумма элементов стека (должна быть меньше Х)
- print(n) # итоговое количество элементов стека
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement