#include using namespace std; #include #include #include #include template void sortInAscendingOrder (InputIterator first, InputIterator last, int* iBlockWidth) { int iLoop = 0; for(InputIterator i = first; i != last; i++) { iBlockWidth[iLoop] = *i; iLoop ++; } } int main(void) { vector v; int iBoxWidth = 0; int iBlockNum = 0; int iMaxBox = 0; cin >> iBoxWidth>> iBlockNum; int iBlockWidth[iBlockNum]; for(int i = 0; i < iBlockNum; i++) { cin >> iBlockWidth[i]; v.push_back(iBlockWidth[i]); } sort(v.begin(), v.end()); sortInAscendingOrder(v.begin(), v.end(), iBlockWidth); for(int i = 0; i < iBlockNum; i++) { iBoxWidth -= iBlockWidth[i]; if( iBoxWidth >= 0 ) { iMaxBox++; } } cout << iMaxBox << endl; return 0; }