题目0008

题目描述:

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

输入描述

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

输出描述

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

 

<?php
$line=fgets(STDIN);
$l=fgets(STDIN);
solution($line,$l);

function solution($m,$r){
    $m=explode(',',$m);
    sort($m);
    if(count($m)<3||$m[0]+$m[1]+$m[2]>$r) {
        echo -1;return;
    }
    $arr=[];
    for($i=0;$i<count($m)-2;$i++){
       if($m[$i]+$m[$i+1]+$m[$i+2]<=$r) array_push($arr,$m[$i]+$m[$i+1]+$m[$i+2]);
    }
    echo $arr[count($arr)-1];
}

 

posted @ 2022-07-14 11:01  weigm*  阅读(118)  评论(0)    收藏  举报