Minimize cost & recommend movies
Company: Amazon
Role: Software Engineer
Category: Coding & Algorithms
Difficulty: medium
Interview Round: Technical Screen
Overview: This question evaluates algorithmic problem-solving and data-processing competencies, focusing on numeric optimization for making array elements distinct with minimal cost and on traversal and aggregation over a social graph to rank movies by friend and friends-of-friends frequency.
Constraints
- 1 <= n <= 200000
- 0 <= size[i] <= 10^9
- 1 <= cost[i] <= 10^9
- Only increments are allowed
- Output may exceed 32-bit; use 64-bit integer arithmetic
Hints
- Sort items by their initial size.
- Sweep positions from left to right; at each integer position, at most one item can be assigned.
- Maintain a max-heap (priority queue) of costs for items whose size is <= current position.
- Greedily assign the current position to the item with the highest per-unit cost to avoid paying that cost in future increments.