#include #include int med3(int x, int y, int z){ if(x a,int left, int right){ if(left < right){ int i = left; int j = right; int tmp = left; int pivot = med3(a[i], a[i + (j - i)/2], a[j]); while(true){ while(a[i] < pivot){ i++; } while(pivot j) break; tmp = a[i]; a[i] = a[j]; a[j] = tmp; i++; j--; } quicksort(a, left, i - 1); quicksort(a, j + 1, right); } } int main(void){ int W; int N; std::cin >> W; std::cin >> N; std::vector w; int tt = 0; for(int i=0; i> tt; w.push_back (tt); } quicksort(w, 0, N - 1); int sum=0; int i = 0; while(true){ sum += w[i]; if(sum > W){ std::cout << i; break; } i++; if(i = N){ std::cout << i; break; } } return 0; }