首页 > 试题广场 >

礼品派发

[编程题]礼品派发
  • 热度指数:215 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解

vivo为回馈粉丝,进行礼品派发活动,不同礼品价格不同,为公平起见,需要将全部的礼品公平的分配到粉丝手中,且每位粉丝拿到的礼品总价格相同。请帮忙确认以下的礼品数量和价格是否可以满足公平的分配原则,可以则返回true,否则返回false。

例如:

价格分别为 5, 4, 1, 3, 2, 3, 2 的礼物是否可以公平分配到4名粉丝手?答案是可以的,按(5)、(2,3)、(2,3)、(1,4)组合,第一位粉丝分配到价格为5的礼物,第二位分配到价格为2和3的礼物,第三位分配到价格2和3的礼物,第四位分配到价格为1和4的礼物,全部礼物分配完,最后返回true,代表可以公平分配

程序需要输入的参数是价格数组和粉丝人数(数组元素和粉丝人数均小于1000)

示例1

输入

[5,4,1,3,2,3,2],4

输出

true
示例2

输入

[1,2,2,2,2],3

输出

false

这道题你会答吗?花几分钟告诉大家答案吧!