leetcodeSolution to some Leetcode problems written in C++ |
git clone git://git.dimitrijedobrota.com/leetcode.git |
Log | Files | Refs | README | LICENSE |
1090.cpp (689B)
0 class Solution {
1 public:
2 int largestValsFromLabels(const vector<int> &values, const vector<int> &labels, int numWanted,
3 int useLimit) {
4 static int count[20001], idx[20001];
5 memset(count, 0x00, sizeof(count));
7 const int n = values.size();
8 iota(begin(idx), begin(idx) + n, 0);
9 sort(begin(idx), begin(idx) + n, [&](int a, int b) { return values[a] > values[b]; });
11 int res = 0;
12 for (const int i : idx) {
13 if (count[labels[i]] >= useLimit) continue;
14 res += values[i];
15 if (!--numWanted) break;
16 count[labels[i]]++;
17 }
18 return res;
19 }
20 };