Single Round Match 437 (Div2/250point)

「数字を10進法で表現したときに、何種類の数字があるか答えなさい」という問題。sumはtoolboxからコピペした。accumulateくらいコピペしないでも書けるようにならないといけないか。あと0ULLってのはどうかと思った、T(0)でいいんじゃないのか。

久しぶりに一瞬で解ける問題だった。それとも最近ずっとスランプだった僕のプログラミングスキルが戻ってきつつあるのだろうか。coding time: 0:02:30.041, Passed System Test, 248.08points

template<typename T>
T sum(vector<T> xs){
  return accumulate(xs.begin(), xs.end(), 0ULL);
}; 

class TheBeauty {
public:
  int find(int n) {
    vector<int> b(10);
    while(n){
      b[n % 10] = 1;
      n /= 10;
    }
    return sum(b);
  }
}