Cod sursa(job #2706049)

Utilizator Cristian25Cristian Stanciu Cristian25 Data 13 februarie 2021 18:08:18
Problema Subsir crescator maximal Scor 0
Compilator py Status done
Runda Arhiva educationala Marime 0.73 kb
def scmax(l, n):
    scmax = [1 for idx in range(n)]
    for i in range(1, n):
        for j in range(i):
            if l[j] < l[i]:
                scmax[i] = max(scmax[i], scmax[j] + 1)
    with open('scmax.out', 'w') as f:
        lmax = scmax[-1]
        f.write(str(lmax) + '\n')
        ll = []
        for idx in range(n - 1, -1, -1):
            if scmax[idx] == lmax:
                ll.append(l[idx])
                lmax -= 1
            if not lmax:
                break
        ll.reverse()
        for el in ll:
            f.write(str(el) + ' ')

def main():
    with open('scmax.in', 'r') as f:
        n = int(f.readline())
        l = [int(x) for x in f.readline().split(' ')]
    scmax(l, n)

main()