比赛 |
小练习赛:B组 |
评测结果 |
WWAWWWWWWWA |
题目名称 |
纪念品分组 |
最终得分 |
18 |
用户昵称 |
fyb |
运行时间 |
0.016 s |
代码语言 |
C++ |
内存使用 |
0.29 MiB |
提交时间 |
2014-10-21 20:36:27 |
显示代码纯文本
#include <stdio.h>
#define PMIN 5
#define PMAX 200
int pmap[PMAX-PMIN+1];
int main(){
int w,n;
int num;
int p;
int i,j;
freopen("group.in","r",stdin);
freopen("group.out","w",stdout);
scanf("%d",&w);
getchar();
scanf("%d",&n);
getchar();
for(i=0;i<n;i++){
scanf("%d",&p);
getchar();
pmap[p-PMIN]++;
}
num=n;
for(i=PMAX-PMIN;i>PMIN-1;i--){
if(pmap[i]==0)continue;
for(j=i-1;j>PMIN-1;j--){
if(pmap[j]==0)continue;
if(PMIN+i+PMIN+j<=w){
if(pmap[i]>pmap[j]){
pmap[i]-=pmap[j];
num-=pmap[j];
pmap[j]=0;
}else{
pmap[j]-=pmap[i];
num-=pmap[i];
pmap[i]=0;
break;
}
}
}
}
printf("%d",num);
return 0;
}