题目36
作者:互联网
用数组代表每个人的能力 一个比赛活动要求 参赛团队的最低能力值为N 每个团队可以由一人或者两人组成 且一个人只能参加一个团队 计算出最多可以派出多少只符合要求的队伍 输入描述 5 3 1 5 7 9 8 第一行代表总人数,范围 1~500000 第二行数组代表每个人的能力 数组大小范围 1~500000 元素取值范围 1~500000 第三行数值为团队要求的最低能力值 1~500000 输出描述 3 最多可以派出的团队数量 示例一 输入 5 3 1 5 7 9 8 输出 3 说明 3、5组成一队 1、7一队 9自己一队 输出3 7 3 1 5 7 9 2 6 8 3 1 1 9 8
<?php $m=trim(fgets(STDIN)); $l=trim(fgets(STDIN)); $n=trim(fgets(STDIN)); solution($l,$n); function solution($l,$n) { $l=explode(' ',$l); $nb=[]; foreach ($l as $k=>$v){ if($v>=$n) $nb[]=$v; } sort($l); $count=count($nb); $l=array_splice($l,0,count($l)-$count); $i=0;$j=count($l)-1; while ($i<$j){ if($l[$i]+$l[$j]>=$n){ $count++; $i++; $j--; }else{ $i++; } } echo $count; }
标签:count,题目,++,nb,36,数组,500000,团队 来源: https://www.cnblogs.com/weiguomiao/p/16498889.html