Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int maxScore(vector<int>& cardPoints, int k) {
- int n=cardPoints.size(), minSum=INT_MAX;
- for(int i=1; i<n; i++)
- cardPoints[i] += cardPoints[i-1];
- if(n == k) return cardPoints[n-1];
- for(int i=n-k-1, j=-1; i<n; i++,j++){
- int diff = j>=0 ? cardPoints[i]-cardPoints[j] : cardPoints[i];
- minSum = min(minSum, diff);
- }
- return cardPoints[n-1]-((minSum==INT_MAX) ? 0 : minSum);
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement