蓝桥杯备考:贪心算法之纪念品分组

P1094 [NOIP 2007 普及组] 纪念品分组 - 洛谷

这道题我们的贪心策略就是每次找出最大的和最小的,如果他们加起来不超过我们给的值,就分成一组,如果超过了,就把大的单独成一组,小的待定

cpp 复制代码
#include <iostream>
#include <algorithm>
typedef long long LL;
using namespace std;

LL w,n;
const int N = 3e4+10;
LL a[N];
int main()
{
	cin >> w >> n;
	for(int i = 1;i<=n;i++) cin >> a[i];
	sort(a+1,a+1+n);
	LL l = 1,r = n;
	LL ret = 0;
	while(l<=r)
	{
		if(a[l]+a[r] <= w)
		{
			ret++;l++,r--;
		}
		else{
			ret++;r--;
		}
	}
	cout << ret << endl;
	
	
	
	return 0;
}
相关推荐
刃神太酷啦9 分钟前
力扣校招算法通关:双指针技巧全场景拆解 —— 从数组操作到环检测的高效解题范式
java·c语言·数据结构·c++·算法·leetcode·职场和发展
西瓜树枝35 分钟前
遗传算法与属性约简:原理、代码与参数配置
算法
jerryinwuhan42 分钟前
理论及算法_时间抽取论文
前端·算法·easyui
小蒋学算法1 小时前
贪心算法:IPO
算法
得物技术1 小时前
大模型如何革新搜索相关性?智能升级让搜索更“懂你”|得物技术
算法·搜索引擎·排序算法
mit6.8241 小时前
hash滑窗|dp
算法
Shinom1ya_1 小时前
算法 day 42
数据结构·算法·leetcode
earthzhang20211 小时前
【2051】【例3.1】偶数
开发语言·数据结构·算法·青少年编程·图论
专注VB编程开发20年1 小时前
.net c#音频放大,音量增益算法防止溢出
算法·c#·音频处理·录音·音量增益·增益控制
唯道行2 小时前
计算机图形学·6 OpenGL编程3 谢尔宾斯基垫与三维编程
人工智能·算法·计算机视觉·计算机图形学·三维·谢尔宾斯基垫