#include <stdio.h> #include <stdlib.h> int comp( const void *c1, const void *c2 ); int main(void){ int l, n; scanf("%d %d",&l, &n); int blocks[n] ; int i; for (i=0;i<n;i++){ scanf("%d", &blocks[i]) ; } // sort blocks qsort(blocks, n, sizeof(int), comp); for(i=0;i<n;i++){ // printf("%d", blocks[i]) ; } // check if blocks can be accomdated in bocks(L) int total = 0; int answer; for(i=0;i<n;i++){ total += blocks[i]; if(total > l){ break; } answer = i + 1; } printf("%d\n", answer); } int comp( const void *c1, const void *c2 ) { int tmp1 = *(int *)c1; int tmp2 = *(int *)c2; if( tmp1 < tmp2 ) return -1; if( tmp1 == tmp2 ) return 0; if( tmp1 > tmp2 ) return 1; }