SRM609 div2 Med PackingBallsDiv2

解法

variety setを何個売るか決まれば、同じ色のパッケージを何個売らないといけないか決まる。

variety setを何個売るかで全探索。

コード

class PackingBallsDiv2 {
public:
  int minPacks(int R, int G, int B) {
    int ans = 1e9;
    // variety set
    for(int i = 0; i < 101; i++) {
      int cnt = i;
      int RR = max(0, R-i);
      int GG = max(0, G-i);
      int BB = max(0, B-i);
      cnt += (RR + 2) / 3 + (GG + 2) / 3 + (BB + 2) / 3;
      ans = min(ans, cnt);
    }
    return ans;
  }
};

ある値を固定して全探索系の問題たまに忘れてしまう。。。