You are given an array `prices` where `prices[i]` is the price of a stock on the *i-th* day. You want to maximize profit by choosing a **single day** to buy and a **different day in the future** to sell. Return the maximum profit, or `0` if no profit is possible.
**Example 1:**
```
Input: prices = [7,1,5,3,6,4]
Output: 5
Explanation: Buy on day 2 (price = 1), sell on day 5 (price = 6) → profit = 5.
```
**Example 2:**
```
Input: prices = [7,6,4,3,1]
Output: 0
```