Abstract: Provided is an information processing device configured to: acquire blocks, each of the blocks being a part of an array; generate a total sum block, a maximum block, a first maximum block, and a last maximum block for a plurality of sub-blocks; iteratively execute processing of calculating, for a new sub-block, a new total sum block, a new maximum block, a new first maximum block, and a new last maximum block; determine, after the processing is executed a predetermined number of times, a total sum of element values, a maximum value of subset sums, a maximum value of subset sums summed from a first element, and a maximum value of subset sums summed to a last element for each of the blocks; and calculate the maximum value of subset sums in the array based on the determined values.