// Minimum Window Substring (Hard Variant) — HARD
// Category: sliding-window
Given two strings `s` and `t` of lengths `m` and `n` respectively, return the **minimum window substring** of `s` such that every character in `t` (including duplicates) is included in the window. If there is no such substring, return the empty string.
The test cases will be generated such that the answer is **unique**.
**Approach:** Sliding window with two frequency maps. Expand right pointer; when all chars covered, shrink from left.
Example: s = "ADOBECODEBANC", t = "ABC"
Output: "BANC"