A list is defined as follows: `[1, 2, 3]`

and the sub-lists of this are: 

```
[1], [2], [3],  
[1,2]  
[1,3]
[2,3]  
[1,2,3]

```

Given K for example 3 the task is to find the largest length of sublist with sum of elements is less than equal to k.

I am aware of `itertools` in python but it will result in segmentation fault for larger lists. Is there any other efficient algorithm to achieve this? Any help would be appreciated. 

My code is as allows:

```
from itertools import combinations
def  maxLength(a, k):
#print a,k
l= []

i = len(a)
while(i>=0):
    lst= list(combinations(sorted(a),i))
    for j in lst:
        #rint list(j)
        lst = list(j)
        #print sum(lst)
        sum1=0
        sum1 = sum(lst)
        if sum1<=k:
            return len(lst)
    i=i-1

```