# Online Python - IDE, Editor, Compiler, Interpreter def solution(A, k): m = {} res = 0 for i,x in enumerate(A): if str(x) not in m: m[str(x)] = { 'have': [i] } else: m[str(x)]['have'].append(i) for x in m: m[x]['del'] = missing_elements(m[x]['have']) if len(m[x]['have']) > res and len(m[x]['del']) <= k: res = len(m[x]['have']) return m, res def missing_elements(L): start, end = L[0], L[-1] return sorted(set(range(start, end + 1)).difference(L)) # A = [1,3,2,2,1,1,2] # A = [1,2,1,2,1] A = [5,5,5,5,5,5] # A = [1,2,3,4,5,6] k = 5 print(f'{solution(A, k)}')