Implement an LRU cache variant in which each item carries a quantity/size, so capacity is counted by total quantity rather than number of items (otherwise standard LRU).
Asked in the coding round 1 stage. Clarify that eviction continues until total size is within capacity, and that updating an existing key's size can trigger eviction.
Implement def lru_cache_variant(capacity, operations):. Operations are ['put', key, value, size] or ['get', key]; return values from get, using -1 for missing keys. Updating a key refreshes recency. Items larger than capacity are not stored. Example: capacity 3, operations [['put','a','A',4],['get','a']] returns [-1].
def lru_cache_variant(capacity, operations):