Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- spl_autoload_register();
- //Капацитет
- $c = trim(fgets(STDIN));
- //Армия
- $army = [];
- //Резултат
- $result = [];
- while (true) {
- $input = trim(fgets(STDIN));
- if ($input == 0) {
- break;
- }
- $input = explode(' ', $input);
- $army[] = new ArmyUnit($input[0], $input[1]);
- }
- //Сортиране по разходи в намаляващ ред
- function sortByW($a, $b)
- {
- return strcmp($b->getW(), $a->getW());
- }
- usort($army, "sortByW");
- //Сортиране по коефициент на товароспособност в намаляващ ред
- function sortByK($a, $b)
- {
- return strcmp($b->getK(), $a->getK());
- }
- usort($army, "sortByK");
- foreach ($army as $unit) {
- if ($unit->getW() <= $c) {
- $result[] = $unit;
- $c -= $unit->getW();
- }
- }
- //Функция за изчисляване на максималната товароспособност
- function sum($carry, $item)
- {
- $carry += $item->getM();
- return $carry;
- }
- //Макцимална товароспособност
- $mMax = array_reduce($result, "sum");
- echo ("M(max) = " . $mMax);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement