C-merのブログ

ザ・雑記

三年目の初学者(4問目)

問題
topcoder SRM 601 div2 med
TopCoder Statistics - Problem Statement


使用言語
C++

所感
vectorに少しづつ慣れてきた
・組み合わせ楽しい
・なんちゃってdp

コード

class WinterAndCandies {
    public:
    int getNumber(vector<int> type) {
      int ans = 0;
      int num_element = *max_element(type.begin(), type.end()) + 1;
      vector<int> num(num_element, 0);

      for (int i = 0; i < type.size(); i++) {
        num[type[i]]++;
      }

      int dp = 1;
      for (int i = 1; i < num_element && num[i] > 0; i++) {
        dp = dp * num[i];
        ans += dp;
      }

        return ans;
    }
};