Description

Submission
class Solution {
public:
int bagOfTokensScore(vector<int>& tokens, int P) {
if(tokens.empty()) return 0;
int n = tokens.size();
sort(tokens.begin(), tokens.end());
int score = 0, ret = 0;
for(int i = 0, j = n - 1; i <= j;) {
if(tokens[i] <= P) {
score++;
P -= tokens[i++];
ret = max(ret, score);
} else if(score > 0) {
P += tokens[j--];
score--;
} else {
break;
}
}
return ret;
}
};
