NOIP2007:纪念品分组
#include<stdio.h> #include<stdlib.h> int a[100]; int main(){ int i,j,k,m,n,w; scanf("%d%d",&w,&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); for(i=1;i<n;i++) for(j=i+1;j<=n;j++) if(a[j]>a[i]){ k=a[i];a[i]=a[j];a[j]=k; } int ans=0,last=n; for(i=1;i<=last;i++){ if(a[i]+a[last]<=w){ ans++; last--; }else ans++; } printf("%d\n",ans); return 0; }