- 纪念品分组
- 2024-09-15 21:07:57 @
#include<bits/stdc++.h>
using namespace std;
int a[1001];
int main()
{
int w,n,cnt=0;
cin>>w>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
int head=1,tail=n;
for(int i=1;i<=n;)
{
if(a[head]+a[tail]<=w)
{
cnt++;
head++; tail--;i+=2;
}else{
cnt++;
tail--;i++;
}
}
cout<<cnt;
}
2 条评论
-
wangxinrun (wangxinrun) LV 5 @ 2024-10-02 08:51:33
1001不越界就奇怪了,思路没有问题,我把你的代码修改了以下,成了30001,就过了
-
2024-10-02 08:50:55@
注意了,n小于等于3万
- 1