pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Размер картинки для сайта важен?

Лучший ответ: Начальник утверждает, что раз размер иконки стоит 50px, то и оригинал должен быть точно таким же! 
Должен быть 100px чтобы на ретине норм выглядело, больше не нужно.

Худший ответ: Изучите предмет: habrahabr.ru/post/237931
При использовании ретина экранов (планшеты, смартфоны, новые ноутбуки и т.п.) использовать картинки физически большего размера оправдано.
Единственное что, лучше конечно отдавать каждому браузеру свой вариант картинки. Множитель DPI можно проверить с помощью Media queries в CSS и на основе этих данных принять решение.
Вопрос: Какой алгоритм для рейтинга пользователей лучше выбрать?

Лучший ответ: 1. Оценки — высший бал, например 200 за каждый бал
2. кол-во комментариев — высший бал, 150 за каждый комммент (если есть модерирование, иначе средний 30-50, за каждый комент)
3. кол-во просмотров — низший бал, 1 за каждый просмотр

Как-то так, но вообще зависит от многих вещей, как сделано рейтингование, насколько тяжело накручивать, как жестко работает модерирование, какое качество материалов и тд

Худший ответ: Спасибо также xlab за пост habrahabr.ru/company/darudar/blog/143188/
Вопрос: Куда в Москве идти учиться племяннику-девятикласснику?

Лучший ответ: Попробуйте посмотреть школы при ВУЗах. Из того, что я могу припомнить-нагуглить есть школа при МГТУ им. Баумана. К сожалению, часто такие школы рассчитаны на 10-11 классы, так что для девятиклассника будет трудно найти подходящую.

Худший ответ: На техническую специальность можно в Европейский вуз идти. пускай доучивается 11классов и едет туда. тем более в Москву домой ездить не сложно.
Вопрос: Троян отслеживающий твои действия. Реальность или миф?

Лучший ответ: Этот троян можно скинуть своему знакомому и тот запустив его незаметно, ...
У меня просто ломается мозг, когда я пытаюсь представить как, находясь в полном здравии и трезвой памяти, можно на собственной машине запустить что-то незаметно (а потом еще незаметно ввести пароль администратора, чтобы впустить гадость в систему). Это выходит за рамки моего воображения. Как тогда не бояться гулять в парке где под кустами лежит собачий помёт, ведь можно же его проглотить незаметно?

Худший ответ: Есть такая вещь, Mipko. Загугли.
Вопрос: Всплывающие сообщения как на хабре

Лучший ответ: Ну так это пишется самостоятельно за 5 минут :) Грубо и топорно, но работает.

<div id='error_box' style='display: none; border: 1px solid #f7c7c9; background: #f9e5e6; position: fixed; width: 370px; right: 20px; top: 20px; -webkit-box-shadow: 0px 5px 5px 3px rgba(0, 0, 0, 0.3); box-shadow: 0px 5px 5px 3px rgba(0, 0, 0, 0.3); -webkit-border-radius: 5px; border-radius: 5px; text-align: center;'>

<p id='error_message' style='color: #c77c7e; margin-top: 18px; font-weight: bold;  text-shadow: 1px 1px 1px #FFFFFF; filter: dropshadow(color=#FFFFFF, offx=1, offy=1);'></p>
</div>

<script>
    function throw_message(str) {
        $('#error_message').html(str);
        $("#error_box").fadeIn(500).delay(3000).fadeOut(500);
    }
</script>

<a href='#' onclick='throw_message("Clicked!"); return false;'>Click me!</a>


Худший ответ: plugins.jquery.com/jgrowl/
github.com/CodeSeven/toastr
plugins.jquery.com/toast/
например.
Вопрос: В чем разница между методом класса и методом объекта в Objective-C?

Лучший ответ: Ну, раз раньше использовали в том числе С++, наверняка встречались со статическими методами. Вот их можно считать аналогами методов класса. Нестатические методы, соответственно, аналог объектных. Грубо говоря, метод класса может быть использован без создания экземпляра этого класса.

Худший ответ: Статический метод - выполняет какие то действия, но не может влиять на свойства ксасса. Динамический - может вызываться только когда создан екземпляр класса (обьект), но он может получить доступ к свойствам обьекта.
А вообще, чтоб долго не обьяснять - сначала почитайте основы ооп, они у всех ЯП почти одинаковые,  например:
habrahabr.ru/post/87119
Вопрос: Присвоение основного IP к локальному компьютеру?

Лучший ответ: У вас два локальный сетевых интерфейса и в одном из них инет, а в другом ноут? Если да, то в свойствах сетевого интерфейса который к интернету на закладке «Доступ» (должна по логике стоять галка «разрешить другим пользователям...») кликнуть на кнопку «настройка» и в списке служб выбрать «Веб-сервер (HTTP)». Это заставит (в теории) основной комп при запросе к нему по 80 порту переправлять запрос на ноут.

Худший ответ: А, ребят простите, забыл сказать, там и там стоит XP
Вопрос: Почему не применяется стиль в Media?

Лучший ответ: предполагаю, что второй код с media указан в разметке раньше первого, таким образом получается, что первый переопределяет второй

Худший ответ: Возможно, Андрей прав,  или есть какая-то другая ошибка в разметке, нужно смотреть, потому что вот этот простой примерчик с вашими стилями - работает:
codepen.io/anon/pen/KwxdMy
Вопрос: Как сделать табы внутри каждого которых естсь слайдер?

Лучший ответ: Как положить жирафа в холодильник?
Открыть холодильник, положить туда жирафа, закрыть холодильник.
В чём сложности то?

Худший ответ: Как сделать табы внутри каждого которых естсь слайдер?
Моя твоя не понимать. Если русский для вас не родной, то лучше задайте вопрос на буржуйском.
Вопрос: Насколько совместимы неофициальные локализации, краудфандинг и авторское право?

Лучший ответ: Безусловно, к сожалению, все указанное нелегально.

Просто производителю игр выгодна косвенная поплуляризация игры, да и морочиться с пресечением нарушения неохота. Имидж компании тоже портится. 

То есть локализация действительно должна мешать официальным продажам, быть 'вразрез с линией партии', чтобы ее прикрывали :)

Худший ответ: В вашем вопросе есть ответ. Насколько известно мне, все упирается в документы, соглашение которое сопровождает сам продукт. Тоесть например, нарушает что-то модификация любых файлов или нет — решает правообладатель (а точнее его внимательный юр. отдел к примеру). Как-то так.
Вопрос: Деплой symfony2. Как установить composer на хостинге timeweb?

Лучший ответ: Композер нужен для установки зависимостей (vendor).
Раз уж на то пошло - никто не мешает залить проект вместе с вендорами, а не устанавливать их на хосте.

Худший ответ: Композер нужен для установки зависимостей (vendor).
Раз уж на то пошло - никто не мешает залить проект вместе с вендорами, а не устанавливать их на хосте.
Вопрос: Нормально ли использовать bootstrap + angularJS для сайта?

Лучший ответ: tritter bootstrap - css фреймворк (ну или просто набор стилей скорее)
angular - javascript фреймворк
laravel - php фреймворк.
Ну это я так, что бы подтолкнуть к умозаключению что это более чем норм. На laravel у нас будет rest api, twb - стили, angular - клиент для api...

Худший ответ: «Для министра юстиции, трудовика, учителя физкультуры и бухгалтера Нины Афанасьевны – это не нормально, а для пахапе-программиста это норма» © какой-то php-программист
Вопрос: Как в MODx получить параметры/настройки со всех контекстов?

Лучший ответ: Можно вытянуть все настройки напрямую из таблицы modx_context_setting.

$cs = $modx->getCollection('modContextSetting');
foreach($cs as $csi){
	print_r($csi->toArray());
}


Если нужны условия, то создать критерию и указать в ней все условия, затем выполнить запрос на выборку.

Худший ответ: Чтобы получить настройки контекста, нужно этот контекст «подготовить»
if($cx->prepare()) {
	print_r($cx->config);
}
Вопрос: Существует ли (знает ли кто) технология создания Virtual Machines «on demand»?

Лучший ответ: Ну напишите скрипты к ESXi/xen/kvm/vcenter/hyper-v, и будет Вам счастье. ТОлько активность виртуалки надо будет отслеживать уже по другому, но создаваться и запускаться автоматически — да, можно

Худший ответ: Так, если я понял правильно, это возможно только через VNC? Нельзя через WSX, например?
blog.chipx86.com/2012/03/13/wsx-virtual-machines-in-your-browser/
Вопрос: Рекурсивный обход каталога. Какие библиотеки и функции использовать?

Лучший ответ: Универсально вряд ли возможно, так как Си не содержит CRT функций для поиска файлов.
Если винда, то FindFirstFileA и FindNextFileA из windows.h
https://msdn.microsoft.com/ru-ru/library/windows/d...
https://msdn.microsoft.com/ru-ru/library/windows/d...typedef void (*LPSEARCHFUNC)(LPCTSTR lpszFileName);

BOOL SearchFiles(LPCTSTR lpszFileName, LPSEARCHFUNC lpSearchFunc, BOOL bInnerFolders = TRUE)
{
    LPTSTR part;
    char tmp[MAX_PATH]; 
    char name[MAX_PATH];

    HANDLE hSearch = NULL;
    WIN32_FIND_DATA wfd;
    memset(&wfd, 0, sizeof(WIN32_FIND_DATA));

    
    if(bInnerFolders)
    {
        if(GetFullPathName(lpszFileName, MAX_PATH, tmp, &part) == 0) return FALSE;
        lstrcpy(name, part);
        lstrcpy(part, "*.*");

        
        wfd.dwFileAttributes = FILE_ATTRIBUTE_DIRECTORY;
        if (!((hSearch = FindFirstFile(tmp, &wfd)) == INVALID_HANDLE_VALUE))
        do
        {
            if (!strncmp(wfd.cFileName, ".", 1) || !strncmp(wfd.cFileName, "..", 2))            
            continue;
        
            if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
            {
                char next[MAX_PATH];
                if(GetFullPathName(lpszFileName, MAX_PATH, next, &part) == 0) return FALSE;
                lstrcpy(part, wfd.cFileName);
                lstrcat(next, "\\");
                lstrcat(next, name);

                SearchFiles(next, lpSearchFunc, TRUE);
            }
        }
        while (FindNextFile(hSearch, &wfd));

        FindClose (hSearch); 
    }

    if ((hSearch = FindFirstFile(lpszFileName, &wfd)) == INVALID_HANDLE_VALUE) 
        return TRUE;
    do
    if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) 
    {
        char file[MAX_PATH];
        if(GetFullPathName(lpszFileName, MAX_PATH, file, &part) == 0) return FALSE;
        lstrcpy(part, wfd.cFileName);

        lpSearchFunc(file);
    }
    while (FindNextFile(hSearch, &wfd));
    FindClose (hSearch); 

    return TRUE;
}
Как находит файл по маске, вызывает функцию по указателю с прототипом:
void FileFound(LPCTSTR lpszFileName)

Худший ответ: Не знаю как в C, но в некоторых языках есть функция walk(), которая возвращает список диреторий и поддиректорий в указанной директории golang.org/pkg/path/filepath/#Walk
Вопрос: Какой логотип лучше?

Лучший ответ: 4 - трешачина)

Худший ответ: Смотря какую цель вы преследуете. А так определенно первый с белым фоном. 
2 и 3 совсем мимо.
У 4 не плохая идея которую можно развить. 
Но помните что это все чистая субъективщина.
Вопрос: Как рассчитать стоимость сделанного сайта?

Лучший ответ: Наглости разработчика и щедрости заказчика.

Худший ответ: Единственное мерило стоимости сайта это количество прибыли, которое сайт приносит в месяц.
Если прибыли 0, а вы разрабатывали его пять лет, и заказали логотип у Артемия Лебедева, поздравляю, ваш сайт не все равно стоит ничего.
Если вы за 10 минут на вордпрессе сделали сайт который вам приносит тысячи долларов ежемесячно, то значит ваш сайт стоит больше десяти тысяч долларов несмотря на то, что школьник Вася может делать такие по 10 штук в час.
Вопрос: Подскажите мощный преобразователь 12В→5В в машину?

Лучший ответ: www.electronshik.ru/card/moshchnost-15-350-vt-seriya-sd-v-korpuse-dlya-montazha-na-shassi-ili-din-reyku-21317
выбирайте на ваш вкус
например www.electronshik.ru/item/sd-50a-5-251306

Худший ответ: www.dealextreme.com/p/universal-car-cigarette-powered-adapter-charger-for-laptop-90021?item=70

попробуйте=) цена копеечная!
Вопрос: В чём разница между следующими строками jQuery?

Лучший ответ: Делают одинаково, но свобода разная.
Если я захочу сделать unbind только на элементах с определенных всойством, то первый вариант не поможет.$(".guess_box").each(function() {
if($(this).attr('some_attr') == 1)
{
    $(this).unbind("click");
}
});

Худший ответ: Делают одинаково, но свобода разная.
Если я захочу сделать unbind только на элементах с определенных всойством, то первый вариант не поможет.$(".guess_box").each(function() {
if($(this).attr('some_attr') == 1)
{
    $(this).unbind("click");
}
});
Вопрос: Как пишут ботов для игр (или для программ с интерфейсом)?

Лучший ответ: Инфы море на одном только хабре habrahabr.ru/search/?q=%5B%D0%B1%D0%BE%D1%82%5D&ta...
от себя добавлю что основные методы это
1) простейший понятный способ - поиск нужного элемента на экране и кликание по экрану, или клик по указанным координатам. я в основном использую этот способ, так как вмешательство в игру минимальное - ее не надо ломать, для онлайн игр - меньше шансов получить бан. Подходит для простых игр, в основном те что 2D пошаговые.
Гуглить отправку событий мыши и клавиатуры на выбранном вами ЯП (java robots например).
Минусы - игра должна быть постоянно открыта на экране и иметь фокус (можно решить - запустив игру с ботом в виртуалке). 
2) для онлайн игр - изучение протокола обмена данными с сервером. нужно изучать куда отправляются/откуда получаются данные и в каком формате. пишем программу которая эмулирует клиент игры. очень хороший способ  - для очень интерактивных игр - максимальная скорость. Способ довольно сложный надо реверсить протокол (гуглить wireshark) и возможно само приложение (гуглить дизассемблирование / декомпиляция). Если игра браузерная - то все может быть проще - запросы и ответы можно смотреть в консоли браузера. Очень перспективный способ - визуальный клиент не обязателен - можно делать армию ботов и размещать на серверах - скорее всего они будут потреблять немного памяти и процессора и возможности впечатляющие.  
3) для десткопных игр - патчинг памяти запущенной игры. варианты от простых типа - поменять очки/деньги в игре (artmoney) это в основном для не онлайн игр, и до очень сложных - подменить адрес вызова системной функции - например функции отрисовки directx - то есть меняем адрес вызова на свою функци (недавно была серия статей на эту тему, к сожалению не нашел побыстрому). Либо как разновидность - декомпиляция игры - изменение логики - компиляция (гуглить все что связано с крекерством, создание кейгенов). Для этого варинта требуется  довольно высокая квалификация, понимание того как работает игра. Также игры могут иметь защиту от этого.  
Кстати понимание того как работают игры/программы - одно из главных в этом деле. Поэтому в первую очередь следует заняться тем чтобы понять как работает конкретная игра,  а потом уже думать на каком этапе можно вмешаться в ее логику чтобы достичь нужного эффекта. Изучайте также средства тестирования игр/приложений - с помощью их также можно малой кровью добится хороших результатов.

Худший ответ: ты видел ботов на питоне? 
https://msdn.microsoft.com/ru-ru/library/windows/d...
и Spy++
Вопрос: В чем разница между List ArrayList и Array?

Лучший ответ: Размер Array задаётся при создании, и за ним надо специально следить. Доступ к нему чуть быстрее, чем к List. Можно получить указатель на элемент через fixed. Если в Array лежат структуры - можно изменить их поля: A[x].B=c;
Элемент массива можно передавать в функцию как ref или out.
Преимущество List в том, что его размер меняется автоматически при добавлении элемента. Менять поля структур в нём нельзя, передавать элементы по ссылке тоже нельзя.
ArrayList - не generic тип (он пришёл ещё из первой версии C#), поэтому состоит только из объектов. С появлением List стал не очень нужен, разве что для случаев, когда действительно нужно хранить объекты разных типов - но и тогда List< object > его полностью заменит.

Худший ответ: С такими вопросами принято ходить на MSDN и RSDN. Различий масса, но что когда использовать вам только опыт скажет... ну или Senior.
Если по ключевым моментам. - массив создается синтаксисом типа int[] a = new int[count].
Коллекции создаются иначе. Для массива как правило логически оправдано обращение по индексу, Для List чаще используется перебор всего(foreach) или выборки элементов по признакам через LINQ. Зачем нужен ArrayList я не знаю. У него есть один ключевой недостаток - он хранит в себе только object. Сие значит что туда можно нафигачить объектов любых типов(сам List строго типизирован на этапе создания), но и значит что нужно хоть примерно представлять что и как там хранится, а также использовать МНОГО приведений типов. Пусть коллеги дополнят меня еще какими-то пунктами.
Вопрос: Какой скриптовый язык для повседневных задач выбрать?

Лучший ответ: Раньше для подобного был полезен perl.
Сейчас крайне актуален python, со своей из-коробки поддержкой различного софта
Парралельно - чуток подучить основы php, потому что море готовых решений/сайтов/фреймворков.
То есть на уровне junior-а неплохо знать все три, но углубляться в python.

Худший ответ: Я тоже самое на D пишу. Тоже очень доволен. На выходе exe файл и не важно, что это консольная утилита или целый самохостящийся сайт. С Python к сожалению такое не получится сделать, хотя на нем чуточку побыстрее можно те же задачи решать.
Вопрос: Почему компьютер сам просыпается Win10?

Лучший ответ: www.it-rem.ru/windows-10-kompyuter-sam-prosyipaets...
 подробно всё.

Худший ответ: Действительно, как решить аналогичную проблему? При том, что "powercfg /WAKETIMERS" так же пуст?
Вопрос: Будет ли нормально работать интегрированная видеокарта Intel HD Graphics на Ubuntu?

Лучший ответ: В линуксах Inetl'овские дрова самые стабильные из всех видео дров какие я только видел. Будет работать отлично.

Худший ответ: Не должно быть проблем по идее.
Вопрос: Почему на VDS-хостинге зашкаливает использование ОП?

Лучший ответ: 276М занято из 512М
Их этих 276М занимает файловый кеш 110МБ(он освободится если потребуется память программам) итого занято 160 мегабайт из 512
В целом норм.

Худший ответ: покажите результат выполнения команды "sudo top"
Вопрос: Какую плату стоит взять для домашнего сервера?

Лучший ответ: Имею такие же планы. Решил особо не мучатся и купить сетевое хранилище. Там за 350$ можно купить не плохое на 2 харда. И мучатся не нужно.

Худший ответ: -Ethernet (опционально)
 -Способность отдавать 1080p-видео по сети
wtf i just read
Вопрос: Куда поступить на программиста в Самаре, Питере, Москве?

Лучший ответ: Помню, примерно такого количества баллов еле хватило чтобы поступить в приличный Тольяттинский ВУЗ. Правда у меня было только 2 предмета (математика + физика).
А по теме - вообще все равно, хоть охранником в стриптиз-клуб идите работать. Опыта в программировании получите одинаково.

Худший ответ: в рыбнадзор
Вопрос: Форма «Enter» у клавиатуры?

Лучший ответ: Правильный Enter вот такой!



Худший ответ: Я бы для начала связался с суппортом Logitech — люди вменяемые, но не факт что помогут.
Потому заказывайте какая нужна, а потом гравируйте на ней русскую раскладку
Вопрос: Qwerty -&gt; dvorak?

Лучший ответ: А приходя на новое место (в гости, на рабочее место коллеги) вы будете переключать раскладку на «dvorak»?
Что вам даст использование dvorak?
На qwerty вы уже вслепую печатаете?

Худший ответ: Я бы распечатал на бумажке раскладку дворака и наклеил на кнопки. Учиться будет проще =). А через неделю-две-три можно будет убрать их, и учиться печатать вслепую.

всё-таки первоначальная проблема это «где эта сраная буква?»
Вопрос: Есть ли для total commander плагин позволяющий выкатить на ftp сервер файлы по определенным правилам?

Лучший ответ: Напишите bat сценарий с стандартным ftp клиентом системы, минус только в том что пароли вводить нужно или хранить в открытом виде, хотя в тоталкоммандере и так не особо что-то зашифрованно.
Сам как правило вседа пишу автоматизацию на руби, он мне ближе. Обратите взорт на rsync.
P.S. Когда-то давно был плагин который реализовал копирование по списку в том числе и на фтп, к сожалению за давностью лет не помню названия :(

Худший ответ: скорее всего буду использовать rsync + phing
спасибо за наводку
Вопрос: Что нужно, чтобы подключить оптику?

Лучший ответ: Как к Вам приходит кабель?
Если он уже заканчивается оптическим коннектором(ами), то можно сразу воткнуть в приемное оборудование.
Если он заведен в оптический кросс, то нужно будет еще и купить оптический шнур с нужным коннектором и нужной длины.
Если провод просто к Вам заведен в дом и свернут колечком, то надо его разваривать. Стоимость 1000 — 1500 р.

Также нужно узнать, по какой технологии провайдер дает вам интернет.
Если xPON, надо покупать ONT-терминал.
Если Ethernet, то надо узнать у провайдера, как он к вам передает сигнал(хотя бы стандарт 1000Base-LX, 1000Base-ZX?) и купить оборудование с оптическим интерфейсом под эти характеристики(медиаконвертер, маршрутизатор...)

Худший ответ: Насколько я понял ваш вопрос, то вам нужно что-то вроде такой штуки.
Вопрос: Что читать программисту, чтобы улучшить серьезную алгоритмическую базу, необходимую в корпоративном секторе?

Лучший ответ: Кормен. Алгоритмы. Построение и анализ
С. Макконнелл.Совершенный код.
Бентли. Жемчужины программирования
Таненбаум. Компьютерные сети

Худший ответ: Устраивайся джуниором и не морочь голову
Вопрос: Include скриптов сайта через index.php, нормально ли это?

Лучший ответ: Это называется "роутинг" погуглите это слово, во фреймворках он встроенный, но можно и самописный написать.
Да это нормально, считается современным, продвинутым подходом.

Худший ответ: Грубо говоря такое лет 10 назад было популярно, пока не нашли косяк с nullbyte и L/RFI (Local/Remote File Inclusion)-
urk вида index.php?page=news
и скрипт аляinclude('templates/'.$_GET['page'].'.txt');
до сих пор роботы ищут index.php?page=../../../../../etc/passwd%00
сейчас дела обстоят лучше, но всё это не есть гут
если хотите - пользуйтесь, но фильтруйте входящие данные
Вопрос: А не поможете с прогнозированием продаж?

Лучший ответ: Я писал статью на Хабре по управлению запасами. Там есть алгоритм, но цель у него немного иная — делать закупки для обеспечения определенного гарантированного уровня сервиса — вероятности того, что человек найдет искомый товар в наличии.

Худший ответ: У вас классическая задача на методы оптимизации (man методы оптимизации). 

Сначала введите обозначения:
Goal — плановая выручка
для i-того товара
price[i] — цена
qty[i] — остаток на складе
w[i] — сложность продаваемости
plan[i] — искомый план

Дальше советую начать со случая двух товаров, так это всё очень наглядно. Как разберетесь с двумя — разберетесь и с любым количеством.
Берете ручку, рисуете график.
По оси x у вас plan[1], по оси y — plan[2].
Рисуете две прямых и помечаете области под ними:
plan[1]<=qty[1] 
plan[2]<=qty[2]
Рисуете еще одну прямую и заштриховываете область НАД ней
plan[1]*price[1] + plan[2]*price[2] >= Goal

Заштрихованный треугольник, который получился — это ваше пространство потенциальных решений. Если треугольника не получилось, значит при ваших исходных данных решить задачу вообще нельзя (нужно или снижать хотелку, или повышать запасы на складах). 

Часть углов может иметь дробные координаты — округляем их до целых так, чтобы новые координаты лежали внутри пространства решений. 

Для случая трёх товаров у вас получится не треугольник, а пирамидка из 4 точек, для 1000 товаров — 1001-мерная «пирамидка» из треугольников.

Дальше выписываете вашу целевую функцию:
Ф(plan[]) = plan[1]*w[1] + plan[2]*w[2] (… + plan[i]*w[i] + ....)
Вам нужно найти точку в пространстве решений, в котором ваша функция будет иметь минимум. Таким образом вы найдете миниальный план продаж, при котором выполняются все ваши ограничения.

Вы халявщик, потому что ваша целевая функция Ф — линейная. Можно доказать, что её минимум будет лежать в одном (или нескольких) углах треугольника/пирамидки. Поэтому вам нужно просто посчитать значения Ф во всех углах и выбрать среди них те, где значене Ф() будет минимальным. 
Почему возможно несколько минимальных решений — ну если например у вас два товара с одинаковой ценой и одинаковой сложностью, то вам без разницы, продать один или другой. 
Собственно всё, задача решена.
Вопрос: Почему не открывается PMA?

Лучший ответ: посмотрите лог php ошибок сервера

Худший ответ: Решено:
yum --enablerepo=remi install php-mbstring