比赛 |
小练习赛:B组 |
评测结果 |
WWWWWWWWTWT |
题目名称 |
纪念品分组 |
最终得分 |
0 |
用户昵称 |
儘韾 |
运行时间 |
3.893 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2014-10-21 20:43:35 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
freopen("group.in","r",stdin);
freopen("group.out","w",stdout);
int m;
cin>>m;
int n;
cin>>n;
int a[n+1];
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
int cnt=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(a[i]>a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
bool b[n+1];
memset(b,false,sizeof(b));
for(int i=1;i<=n;i++)
{
int j=n;
while((!b[j]||(b[i]+b[j])>m)&&j>i)
{
j--;
}
if(b[j]&&(b[i]+b[j])<=m)
{
b[j]=true;
b[i]=true;
cnt++;
}
else if(!b[i])
{
b[i]=true;
cnt++;
}
}
cout<<cnt<<endl;
return 0;
}