SRM331 div1 medium
2^10は使わなかった。
#include <algorithm> #include <vector> using namespace std; class Shopping { public: int minNumber(int X, vector <int> values) { sort(values.begin(),values.end()); if(values[0]!=1) { return -1; } else { int r=1; int s; for(s=1;s<X;) { int n=0; while(n+1<values.size() && values[n+1]<=s+1) n++; s+=values[n]; r++; } return r; } } };