bin/n50 @ d1b9a524e5fe default tip

More
author Steve Losh <steve@stevelosh.com>
date Wed, 22 Oct 2025 15:48:44 -0400
parents 890e2d48b6f7
children (none)
#!/usr/bin/env python3

import sys

def n50(lengths):
    if not lengths:
        return 0

    ls = sorted(lengths, reverse=True)
    total = sum(ls)
    target = total / 2

    x = 0
    for l in ls:
        x += l
        if x >= target:
            return l

lengths = [int(line) for line in sys.stdin.readlines() if line]
print(n50(lengths))