Cod sursa(job #3135641)

Utilizator alexandramocanu181Mocanu Alexandra alexandramocanu181 Data 3 iunie 2023 21:25:55
Problema Zeap Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 1.2 kb
def insert_element(zeap, x):
    zeap.add(x)

def delete_element(zeap, x):
    if x in zeap:
        zeap.remove(x)
    else:
        return -1

def search_element(zeap, x):
    return 1 if x in zeap else 0

def max_difference(zeap):
    if len(zeap) < 2:
        return -1
    return max(zeap) - min(zeap)

def min_difference(zeap):
    if len(zeap) < 2:
        return -1
    return min(b - a for a, b in zip(sorted(zeap), sorted(zeap)[1:]))

zeap = set()
output = []

with open("zeap.in", "r") as input_file:
    for line in input_file:
        operation, *args = line.strip().split()

        if operation == "I":
            insert_element(zeap, int(args[0]))
        elif operation == "S":
            result = delete_element(zeap, int(args[0]))
            if result is not None:
                output.append(str(result))
        elif operation == "C":
            output.append(str(search_element(zeap, int(args[0]))))
        elif operation == "MAX":
            output.append(str(max_difference(zeap)))
        elif operation == "MIN":
            output.append(str(min_difference(zeap)))

with open("zeap.out", "w") as output_file:
    output_file.write("\n".join(output))