Sultan
16 уровень

Codes, inc; Room #005

Статья из группы Архив info.javarush
участников

Золотой песок

Codes, inc; Room #005 - 1 Сотрудники завода по производству золотого песка из воздуха решили поправить свое финансовое положение. Они пробрались на склад завода, где хранился золотой песок трех видов. Один килограмм золотого песка первого вида они смогли бы продать за A1 рублей, второго вида – за A2 рублей, а третьего вида – за A3 рублей. Так получилось, что у сотрудников оказалось с собой только три емкости: первая была рассчитана на B1 килограмм груза, вторая на B2 килограмм, а третья на B3 килограмм. Им надо было заполнить полностью все емкости таким образом, чтобы получить как можно больше денег за весь песок. При заполнении емкостей нельзя смешивать песок разных видов, то есть, в одну емкость помещать более одного вида песка, и заполнять емкости песком так, чтобы один вид песка находился более чем в одной емкости. Требуется написать программу, которая определяет, за какую сумму предприимчивые сотрудники смогут продать весь песок в случае наилучшего для себя заполнения емкостей песком. Напишите функцию public static int goldRush(int a1, int a2, int a3, int b1, int b2, int b3), которая возвращает ответ на задачу.
Комментарии (5)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Tan4ek
Уровень 20
26 августа 2014, 17:49
public static int goldRush(int a1, int a2, int a3, int b1, int b2, int b3)
        return (a1 > a2 ? (a1 > a3 ? a1 : a3) : (a2 > a3 ? a2 : a3)) * (b1 + b2 + b3) ;
    
Sultan
Уровень 16
26 августа 2014, 17:54
я думаю, ты решил заполнить самым дорогим песком все сосуды. Но
При заполнении емкостей нельзя… и заполнять емкости песком так, чтобы один вид песка находился более чем в одной емкости.
Tan4ek
Уровень 20
26 августа 2014, 17:56
public static int goldRush(int a1, int a2, int a3, int b1, int b2, int b3)
        return a1 * b1 + a2 * b2 + a3 * b3;
    
Sultan
Уровень 16
26 августа 2014, 18:01
Ладно, раскроем сундук: надо в самый большой сосуд насыпать самый дорогой вид золота, в средний сосуд — средний по дороговизне вид золота, в самый маленький — самый дешевый.
Tan4ek
Уровень 20
26 августа 2014, 18:07
И такое бывает…
public static int goldRush(int a1, int a2, int a3, int b1, int b2, int b3){
        int[] arrayA = {a1, a2, a3};
        int[] arrayB = {b1, b2, b3};
        Arrays.sort(arrayA);
        Arrays.sort(arrayB);
        int summ = 0;
        for (int i = 0; i < arrayA.length; i++)
            summ += arrayA[i] * arrayB[i];
        return summ;
    }