
You are given n item's value and label as two integer arrays values and labels . You are also given two integers numWanted and useLimit .
Your task is to find a subset of items with the maximum sum of their values such that:
The number of items is at most numWanted .
The number of items with the same label is at most useLimit .
Return the maximum sum.
n == values.length == labels.length1 <= n <= 2 * 10 ^40 <= values[i], labels[i] <= 2 * 10 ^41 <= numWanted, useLimit <= n