Pagini recente » Cod sursa (job #2899625) | Cod sursa (job #2092085) | Cod sursa (job #1141257) | Cod sursa (job #3124639) | Cod sursa (job #2750159)
import heapq
file = 'zeap.in'
with open(file, 'rt') as f:
content = f.readlines()
content = [line.strip().split() for line in content]
ops = content
print(content)
zeap = []
for op in ops:
if op[0] == "I":
heapq.heappush(zeap, int(op[1]))
elif op[0] == "S":
try:
i = zeap.index(int(op[1]))
zeap[i] = zeap[-1]
zeap.pop()
heapq.heapify(zeap)
except ValueError:
with open("zeap.out", 'a') as f:
f.write("-1\n")
# print(-1)
elif op[0] == "C":
try:
res = zeap.index(int(op[1]))
# print(1)
with open("zeap.out", 'a') as f:
f.write("1\n")
except ValueError:
with open("zeap.out", 'a') as f:
f.write("0\n")
# print(0)
elif op[0] == "MAX":
with open("zeap.out", 'a') as f:
f.write(f"{str(abs(zeap[0] - heapq.nlargest(1, zeap)[0]))}\n")
# print(abs(zeap[0] - heapq.nlargest(1, zeap)[0]))
elif op[0] == "MIN":
min_dif = heapq.nsmallest(2, zeap)
with open("zeap.out", 'a') as f:
f.write(f"{str(abs(min_dif[1] - min_dif[0]))}\n")
# print(abs(min_dif[1] - min_dif[0]))