Advertisement
Guest User

index

a guest
Jan 18th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.16 KB | None | 0 0
  1. <?php
  2. spl_autoload_register();
  3.  
  4. //Капацитет
  5. $c = trim(fgets(STDIN));
  6.  
  7. //Армия
  8. $army = [];
  9.  
  10. //Резултат
  11. $result = [];
  12.  
  13. while (true) {
  14.     $input = trim(fgets(STDIN));
  15.     if ($input == 0) {
  16.         break;
  17.     }
  18.     $input = explode(' ', $input);
  19.     $army[] = new ArmyUnit($input[0], $input[1]);
  20. }
  21.  
  22. //Сортиране по разходи в намаляващ ред
  23. function sortByW($a, $b)
  24. {
  25.     return strcmp($b->getW(), $a->getW());
  26. }
  27.  
  28. usort($army, "sortByW");
  29.  
  30. //Сортиране по коефициент на товароспособност в намаляващ ред
  31. function sortByK($a, $b)
  32. {
  33.     return strcmp($b->getK(), $a->getK());
  34. }
  35.  
  36. usort($army, "sortByK");
  37.  
  38. foreach ($army as $unit) {
  39.     if ($unit->getW() <= $c) {
  40.         $result[] = $unit;
  41.         $c -= $unit->getW();
  42.     }
  43. }
  44.  
  45. //Функция за изчисляване на максималната товароспособност
  46. function sum($carry, $item)
  47. {
  48.     $carry += $item->getM();
  49.     return $carry;
  50. }
  51.  
  52. //Макцимална товароспособност
  53. $mMax = array_reduce($result, "sum");
  54.  
  55. echo ("M(max) = " . $mMax);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement