Design a time-based key-value data structure that can store multiple values for the same key at different timestamps. Implement `set(key, value, timestamp)` and `get(key, timestamp)` — `get` returns the value with the largest timestamp ≤ the given timestamp, or `""` if none exists.
Hash Map + Binary Search
Store values as a list of [value, timestamp] pairs per key (timestamps always arrive in order). Use binary search on the timestamp list to find the largest timestamp ≤ the query.