きったんの頭

#! /usr/bin/env python3
"""
pe50.py
https://mind.kittttttan.info/py/pe50
"""

# https://mind.kittttttan.info/py/pe0
from pe import sieve

def pe50(below=1000000):
    """
    Which prime, below one-million,
    can be written as the sum of the most consecutive primes?
    """
    primes = sieve(below)
    ps = set(primes)
    m = 0
    ml = 0
    pl = len(primes)
    for j in range(pl - 500):
        t = 0
        s = 0
        l = 0
        for i in range(j, pl):
            s += primes[i]
            if s >= below: break
            if s in ps:
                t = s
                l = i - j
        if l > ml:
            m = t
            ml = l
    print(m, ml)

if __name__ == "__main__":
    pe50()