双十一众多商品进行打折销售(3数之和小于等于n)

华为OD机试 - 最大花费金额(Java 2025 B卷 200分) 双十一众多商品进行打折销售小明购买自己心仪的一些物品,但由于购买金限制,所以他决定从众多心仪商品购买三件,而且尽可能的花完金。输入第一行为一维整型组 M,组长度小于 100,组元素记录单个商品的价格,单个商品价格小于 1000;从众多心仪商品购买三件,而且尽可能的花完金,也就是用额度R到第一行商品中买3个,而且花的越多越好。从众多心仪商品购买三件,而且尽可能的花完金。也就是用额度R到第一行商品中买3个,而且花的越多越好。输入格式是正确的,无需考虑格式错误的情况。 阅读详情

题目描述

双十一众多商品进行打折销售,小明想购买一些自己心仪的商品,但由于受购买资金限制,所以他决定从众多心意商品中购买3件,而且想尽可能的花完资金,现在请你设计一个程序帮助小明计算尽可能花费的最大资金额。

输入描述

第一行为整型数组M,数组长度小于100,数组元素记录单个商品的价格;
单个商品价格小于1000;
第二行输入为购买资金的额度R;
R < 100000。

输出描述

输出为满足上述条件的最大花费额度
如果不存在满足上述条件的商品请返回-1

示例

示例1

输入

23,26,36,27
78

输出

76

示例2

输入

23,26,36,27
26

输出

-1

解题思路

C++代码实现

#include<iostream>
#include<vector>
using namespace std;

int main()
{
	vector<int> arr;
	int value;
	char c;
	while ((cin>>value).get(c)) {
		arr.emplace_back(value);
		
		if (c == '\n')
			break;
	}

	int total;
	cin >> total;
	
	int i, j, k, res = 0;
	for (i = 0; i < arr.size() - 2; ++i) {
		for (j = 1; j < arr.size() - 1; ++j) {
			for (k = 2; k < arr.size(); ++k) {
				int temp = arr[i] + arr[j] + arr[k];
				if (temp > total)
					continue;
				else {
					res = max(res, temp);
				}
			}
		}
	}
	
	if (res == 0)
		cout << "-1" << endl;
	else
		cout << res << endl;
		
	return 0;
}
【100分】【最大花费金额】 双十一众多商品进行打折销售小明购买自己心仪的一些物品,但由于购买金限制,所以他决定从众多心仪商品购买三件,而且尽可能的花完金。题目要求设计一个程序,帮助小明计算在给定的商品价格列表中购买三件商品的最大花费额度,使得花费的金额尽可能多且不超过给定的购买金额度。输入第一行为一维整型组M,组长度小于100,组元素记录单个商品的价格,单个商品价格小于1000。这样,我们通过双指针法遍历了所有可能的三件商品组合,得到了满足条件的最大花费额度,输出结果即可。,用于计算满足条件的最大花费额度。 阅读详情

相关推荐

【华为OD机试真题 C语言】44、 最大花费金额 | 机试真题+思路参考+代码解析

>双十一众多商品进行打折销售小明购买自己心仪的一 些物品,但由于购买金限制,所以他决定从众多心仪商品购买三件,且尽可能的花完金。 >  现在请你设计一个程序帮助小明计算尽可能花费的最大额。

正在更新最新华为OD机试2025B卷,提供OJ在线刷题 1652

华为机试23题总结

第一题 勾股元组 // 如果三个正整A B C ,A²+B²=C²则为勾股 // 如果ABC之间两两互质,即A与B A与C B与C均互质没有公约, // 则称其为勾股元组。 // 请求出给定n m 范围内所有的勾股元组 // 输入描述 // 起始范围 1<n<10000 n<m<10000 // 输出目描述 // abc 保证a<b...

limx的博客 2万+

2023A卷,双十一

2023A卷,双十一

我哎GIS博客 112

双11众多商品进行打折销售小明购买一些自己心意的商品 但由于购买金限制,所以他决定从众多心意商品购买3件 而且尽可能的花完金 现在请你设计一个程序帮助小明计算尽可能花费的最大金额

第一行为整型组M 组长度小于100 组元素记录单个商品的价格。// 双11众多商品进行打折销售小明购买一些自己心意的商品。/*但由于购买金限制,所以他决定从众多心意商品购买3件。// test.cpp : 定义控制台应用程序的入口点。现在请你设计一个程序帮助小明计算尽可能花费的最大金额。第二行输入为购买金的额度R。单个商品价格 < 1000。而且尽可能的花完金。

weixin_46146093的博客 742

算法提高 双十一抢购 java

试题 算法提高 双十一抢购 源限制 时间限制:1.0s 内存限制:256.0MB 问题描述   一年一度的双十一又来了,某网购网站又开始了半价销售的活动。   小G打算在今年的双十一里尽情地购物,以享购买的极度快感,她已经列好了她买的物品的列表。   当然小G并不是出身富贵家庭,所以她网银里的钱只是一个有限的整S(单位:元)。   这次抢购她打算遵循这三个原则选择每一个物品:   1....

HUANGCI666的博客 443

历年双十一网销销量。

双十一,每年的11月11日,是年轻人的一个另类节日。因为这一天的日期里面有连续四个“1”的缘故,这个日子便被定为“光棍节”。 “光棍节”是校园趣味文化的代表产品之一。随着一批批学子告别校园,“光棍节”的气氛渐渐向社会弥散,如今商家,尤其是线上商家都会利用这一天进行大规模的打折促销活动,是名副其实的购物狂欢节。 “双十一”即指每年的11月11日,由于日期特殊,因此又被称为光棍节。而大型的电子商务网

u012763167的专栏 2632

华为OD机试 - 双十一(Python) | 机试题+算法思路+考点+代码解析 【2023

双十一众多商品进行打折销售小明购买一些自己心仪商品,但由于购买金限制,所以他决定从众多心意商品购买 3 件,而且尽可能的花完金,现在请你设计一个程序帮助小明计算尽可能花费的最大金额。

坚果的博客 601

华为OD机试 - 双十一(Python) | 机试题算法思路 【2023

双十一 题目 双十一众多商品进行打折销售小明购买一些自己心仪商品,但由于购买金限制,所以他决定从众多心意商品购买 3 件,而且尽可能的花完金,现在请你设计一个程序帮助小明计算尽可能花费的最大金额。 输入 第一行为整型组M,组长度小于100,组元素记录单个商品的价格; 单个商品价格小于1000; 第二行输入为购买金的额度R; R < 100000。 输出 输出为满足上述条件的最大花费额度 如果不存在满足上述条件的商品请返回-1

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 4635

华为OD机试真题Python实现【双十一】真题+解题思路+代码(2022&2023

某文件系统中有 N 个目录,每个目录都一个独一无二的 ID。每个目录只有一个付目录,但每个目录下可以有零个或多个子目录,目录结构呈树状结构。假设 根目录的 ID 为0,且根目录没有父目录ID 用唯一的正整表示,并统一编号现给定目录 ID 和其付目录 ID 的对应父子关系表,以及一个待删除的目录 ID,请计算并返回一个 ID 序列,表示因为删除指定目录后剩下的所有目录,返回的 ID 序列以递增序输出注意:1、被删除的目录或文件编号一定在输入的 ID 序列中;

码莎拉蒂 1613

最大花费金额/最大矩阵和[E卷-hw_od]

双十一众多商品进行打折销售小明购买自己心仪的一些物品,但由于购买金限制,所以他决定从众多心仪商品购买三件,而且尽可能的花完金。现在请你设计一个程序帮助小明计算尽可能花费的最大额。输入第一行为一维整型组M,组长度小于100,组元素记录单个商品的价格,单个商品价格小于1000。输入第二行为购买金的额度R,R小于100000。输入格式是正确的,无需考虑格式错误的情况输出为满足上述条件的最大花费额度。如果不存在满足上述条件的商品,请返回-1。

Script_Kids的博客 371

(新卷,100分)- 最大花费金额(Java & JS & Python & C)

双十一众多商品进行打折销售小明购买自己心仪的一些物品,但由于购买金限制,所以他决定从众多心仪商品购买三件,而且尽可能的花完金。其中 I 指针在每一轮循环中是位置固定的,我们需要移动L,R来找不大于,且最接近target的组合。本题其实就是让我们从n个中选择3个,保证这个3之和最接近且小于等于某个target。假设 sum = arr[I] + arr[L] + arr[R]按此逻辑,将当前 I 指针固定的的三组合情况全部求出。之后,再 I ++ ,尝试其他三组合。

南山马客的博客 534

【华为OD机试真题 Python】最大花费金额|解题思路、代码解析

双十一众多商品进行打折销售小明购买自己心仪的一些物品,但由于购买金限制,所以他决定从众多心仪商品购买三件,而且尽可能的花完金,现在请你设计一个程序帮助小明计算尽可能花费的最大额。输入第一行为一维整型组M,组长度小于100,组元素记录单个商品的价格,单个商品价格小于1000。因为输入的商品,无法组合出来满足三件之和小于26.故返回-1。输入第二行为购买金的额度R,R小于100000。注意:如果不存在满足上述条件的商品,请返回-1。输入格式是正确的,无需考虑格式错误的情况。

yegu001的博客 188

【华为OD题目0008-双十一

使用组的sort()排序后,肯定是从小到大,因此采用for循环从大小进行遍历,第一个遇到最大的三个小于经费总额时,立即将最大的三个的sum()和输出就行,该值就是在有限钱下,所能最大化的花完钱(买了相对最贵的三个物品)第一行为整型组M,组长度小于100,组元素记录单个商品的价格;双十一众多商品进行打折销售小明购买一些自己心仪商品,但由于购买金限制,所以他决定从众多心意商品购买3件,输出为满足上述条件的最大花费额度。第二行输入为购买金的额度R;而且尽可能的花完金,

Fredric18的博客 484

华为OD-双十一(Python实现)

华为OD-双十一(Python实现)

wq985_211的博客 298

网购(c/c++)(牛客BC63)

KiKi非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用),求KiKi最终所花的钱。一行,四个字,第一个表示小明看中的衣服价格,第二和第三个整分别表示当天的月份、当天的日期、第四个整表示是否有优惠券(有优惠券用1表示,无优惠券用0表示)。注:输入日期保证只有“双11”和“双12”。(提示:不要指望商家倒找你钱)

a881948726的博客 393

第四天作业

作业1:计算器: 请输入两个和一个符号,完成两个的+ - * / % // ** 作业2:设计一个程序,完成(英雄)商品购买 展示商品信息(折扣)->输入商品价格->输入购买量->提示付款 输入付款金额->打印购买小票(扩展) 作业3: 健康计划 用户输入身高(m),体重(kg) 计算公式:BMI = 体重 / 身高^2 BMI < 18.5:过轻 18....

h2896713787的博客 1063

双十一购物金规划算法题

接着通过两层循环,外层循环遍历每个元素,内层使用双指针进行遍历,不断更新最大花费额度,最后返回结果。解释:在这个例子中,小明可以选择价格为 23、26 和 27 的商品,它们的总价为 76,是小于等于 78 且能达到的最大花费。,组的长度小于100,组中的每个元素代表单个商品的价格,且单个商品价格小于1000。解释:这里最便宜的三个商品总价都超过了 26,不存在满足条件的商品组合,所以返回 -1。本题的解题思路类似于经典的三之和问题,我们可以使用双指针的方法来解决。第二行输入的是小明购买金额度。

m0_62153576的博客 88
上一篇: 身高排序(绝对值大的排后面,小的排前面)
下一篇: 递增字符串
HPL__001
博客等级 码龄8年 0粉丝 66原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值