Maintaining partial sums in logarithmic time