This question evaluates algorithm design, optimization under integer constraints, and complexity analysis, focusing on reasoning about processing rates, per-pile rounding effects, and aggregate time bounds.

You are given an array piles where piles[i] is the number of items in the i-th pile and an integer H (total hours). Find the minimum integer rate R such that processing R items per hour lets you finish all piles within H hours. Assume you process one pile at a time and round up hours per pile. Describe the algorithm, prove correctness, and give time/space complexity.