Start: Dec, 04, 2016 12:00:00
杭州师范大学第十届程序设计竞赛—正式
End: Dec, 04, 2016 17:00:00
Time elapsed:
Time remaining:

Problem_ID: B
Result: Accepted
Time: 1ms
Memory: 1092kB
In contest: 1075

#include<stdio.h>
main (){
	int t,n,m,sum=0,i=0,j=0,a[1000],q;
	scanf("%d",&t);
	while(t--){
		sum=0;
		scanf("%d %d",&n,&m);
		for(i=0;i<m;i++){
			scanf("%d",&a[i]);
		}

		for(i=0;i<m-1;i++){
			for(j=0;j<m-i-1;j++)
			{
				if(a[j]>a[j+1]){
					q=a[j];
					a[j]=a[j+1];
					a[j+1]=q;
				}
			}
		}

		if(n==0||m==0) printf("0\n");
		else if(m==1){
			if(a[0]>n) printf("0\n");
			else printf("1\n");
		}

		else{
			for(i=0;i<m;i++){
				if(sum ==n) {
					printf("%d\n",i);
					break;
				} 
				else if(sum+a[i]>n){
					printf("%d\n",i);
					break;
				}
				sum+=a[i];
			}
			if(i==m)
			printf("%d\n",i);
		}
	}
}