function segments (id, pr, n, a):
    lo := id * n / pr
    hi := (id + 1) * n / pr

    cur := 0
    curmin := 0
    res := 0

    for i := lo until hi:
        cur := cur + a[i]
        if res < cur - curmin:
            res := cur - curmin
        if curmin > cur:
            curmin := cur

    print (res)
