题目大意:你需要一拖邮票,你有一坨的朋友可以给你邮票,问最少要多少个朋友才能弄到邮票。
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; bool comp(int x,int y){return x>y;} int n,m,i,j,t,s; int a[1005]; int main(){ scanf("%d",&t); for (s=1;s<=t;s++){ memset(a,0,sizeof(a)); scanf("%d%d",&n,&m); for (i=1;i<=m;i++) scanf("%d",&a[i]); sort(a+1,a+m+1,comp); for (i=1;i<=m;i++){ if (n<=a[i])break; n-=a[i]; } if (i>m) printf("Scenario #%d:\nimpossible\n",s); else printf("Scenario #%d:\n%d\n",s,i); if(s<t)printf("\n"); } }
时间: 2024-10-09 20:54:23