题解
2026-05-26 20:09:02
发布于:浙江
7阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[30000];//数组
int main(){
int n,m;cin>>n>>m;//输入
for(int i=1;i<=m;i++){
cin>>a[i];
}
sort(a+1,a+m+1);//排序
int cnt=0;//组的数量
int l=1,r=m;//双指针
while(l<=r){//若L>R,程序会崩溃
if(a[l]+a[r]<=n){//判断分组是否符合载重量不超过N
cnt++;//组的数量++
l++;//L的位置++
r--;//R的位置--
}else{
cnt++;//组的数量++
r--;//R的位置--,说明a[R]的数太大了
}
}
cout<<cnt;//输出
}
点个赞再走呗!




这里空空如也





有帮助,赞一个