Cod sursa(job #2973813)

Utilizator VmanDuta Vlad Vman Data 2 februarie 2023 07:22:53
Problema Multimi2 Scor 0
Compilator py Status done
Runda Arhiva de probleme Marime 2.03 kb
#import tracemalloc
#
#tracemalloc.start()

with open("multimi2.in", "r") as reader:
    n = int(reader.readline())
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()