Pagini recente » Cod sursa (job #2079960) | Cod sursa (job #1699121) | Cod sursa (job #1262178) | Cod sursa (job #2570935) | Cod sursa (job #2750161)
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":
if len(zeap) < 2:
with open("zeap.out", 'a') as f:
f.write("-1\n")
else:
with open("zeap.out", 'a') as f:
result = str(abs(zeap[0] - heapq.nlargest(1, zeap)[0]))
f.write(result)
f.write('\n')
# print(abs(zeap[0] - heapq.nlargest(1, zeap)[0]))
elif op[0] == "MIN":
if len(zeap) < 2:
with open("zeap.out", 'a') as f:
f.write("-1\n")
else:
min_dif = heapq.nsmallest(2, zeap)
with open("zeap.out", 'a') as f:
result = str(abs(min_dif[1] - min_dif[0]))
f.write(result)
f.write('\n')
# print(abs(min_dif[1] - min_dif[0]))
print(len([1,1]))