fork(1) download
  1. inp=[1,0,1,1,0,0,1,1]
  2. n=len(inp)
  3. lohash=[-1]*2*n+[-1]
  4. hihash=[-1]*2*n+[-1]
  5. max=0
  6. a=0
  7. for i in range(0,n):
  8. if inp[i]==1:
  9. a=a+1
  10. else:
  11. a=a-1
  12. if a==0:
  13. lohash[a+n]=hihash[a+n]=a
  14. if i+1>max:
  15. max=i+1
  16. else:
  17. if lohash[a+n]==-1:
  18. lohash[a+n]=i
  19. else:
  20. hihash[a+n]=i
  21. if (hihash[a+n]-lohash[a+n])>max:
  22. max=hihash[a+n]-lohash[a+n]
  23. print max
Success #stdin #stdout 0.01s 6356KB
stdin
Standard input is empty
stdout
6