Cod sursa(job #2973814)

Utilizator VmanDuta Vlad Vman Data 2 februarie 2023 07:23:39
Problema Multimi2 Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 2.05 kb
import tracemalloc
import gc

tracemalloc.start()

with open("multimi2.in", "r") as reader:
    n = int(reader.readline())
gc.collect()

with open("multimi2.out", "w") as writer:
#        1 2 3 4 5 6 7
    if n % 4 == 0:
        writer.write(str(0) + "\n")
        writer.write(str(n//2) + "\n")
        for i in range(n//4):
            writer.write(str(i + 1) + " ")
            writer.write(str(n - i) + " ")
        writer.write("\n");
        writer.write(str(n - n//2) + "\n")
        for i in range(n//4):
            writer.write(str(n//4 + i + 1) + " ")
            writer.write(str(n - n//4 - i) + " ")

    if n % 4 == 1:
        writer.write(str(1) + "\n")
        writer.write(str(n//2) + "\n")
        for i in range(n//4):
            writer.write(str(i + 2) + " ")
            writer.write(str(n - i) + " ")
        writer.write("\n");
        writer.write(str(n - n//2) + "\n")
        writer.write("1 ")
        for i in range(n//4):
            writer.write(str(n//4 + i + 2) + " ")
            writer.write(str(n - n//4 - i) + " ")

    if n % 4 == 2:
        writer.write(str(1) + "\n")
        writer.write(str(n//2) + "\n")
        writer.write("1 ")
        for i in range(n//4):
            writer.write(str(i + 3) + " ")
            writer.write(str(n - i) + " ")
        writer.write("\n");
        writer.write(str(n//2) + "\n")
        writer.write("2 ")
        for i in range(n//4):
            writer.write(str(n//4 + i + 3) + " ")
            writer.write(str(n - n//4 - i) + " ")

    if n % 4 == 3:
        writer.write(str(0) + "\n")
        writer.write(str(n//2 + 1) + "\n")
        writer.write("1 2 ")
        for i in range(n//4):
            writer.write(str(i + 4) + " ")
            writer.write(str(n - i) + " ")
        writer.write("\n");
        writer.write(str(n - n//2 - 1) + "\n")
        writer.write("3 ")
        for i in range(n//4):
            writer.write(str(n//4 + i + 4) + " ")
            writer.write(str(n - n//4 - i) + " ")

# displaying the memory
print(tracemalloc.get_traced_memory())
 
# stopping the library
tracemalloc.stop()