Leetcode

Maximum Score From Removing Stones

  • Time:O(n)
  • Space:O(1)

C++

class Solution {
 public:
  int maximumScore(int a, int b, int c) {
    // max <= min + mid
    const int x = (a + b + c) / 2;
    // max > min + mid
    const int y = a + b + c - max({a, b, c});
    return min(x, y);
  }
};

JAVA

class Solution {
  public int maximumScore(int a, int b, int c) {
    // max <= min + mid
    final int x = (a + b + c) / 2;
    // max > min + mid
    final int y = a + b + c - Math.max(a, Math.max(b, c));
    return Math.min(x, y);
  }
}