11378. Сок

 

В здании С университета АДА готовят очень вкусный и полезный мультивитаминный сок. Для приготовления одной порции сока необходимо использовать a яблок, b груш и c апельсинов. Однако вот незадача – фрукты для сока необходимо приносить с собой!

Хусейн очень любит мультивитаминный сок. Сейчас у него в наличии имеются x яблок, y груш и z апельсинов. Какое наибольшее количество порций сока он сможет заказать?

 

Вход. Первая строка содержит три целых числа a, b и c. Вторая строка содержит три целых числа x, y и z. Все числа – неотрицательные целые, не большие 109.

 

Выход. Выведите наибольшее количество порций сока, которое сможет заказать Хусейн.

 

Пример входа

Пример выхода

1 2 6

3 8 15

2

 

 

РЕШЕНИЕ

условный оператор

 

Анализ алгоритма

Поскольку для одной порции сока необходимо использовать a яблок, а у Хусейна в наличии имеется x яблок, то он сможет сделать не более x / a порций. Если эту же логику применить к грушам и апельсинам, то получится что Хусейн сможет сделать не более y / b и не более z / c порций. Таким образом ответ равен

min(x / a, y / b, z / c)

 

Реализация алгоритма

Читаем входные данные.

 

scanf("%d %d %d", &a, &b, &c);

scanf("%d %d %d", &x, &y, &z);

 

Вычисляем res = min(x / a, y / b, z / c).

 

res = x / a;

if (y / b < res) res = y / b;

if (z / c < res) res = z / c;

 

Выводим ответ.

 

printf("%d\n", res);

 

Java реализация

 

import java.util.*;

 

class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    int a = con.nextInt();

    int b = con.nextInt();

    int c = con.nextInt();

    int x = con.nextInt();

    int y = con.nextInt();

    int z = con.nextInt();

   

    int res = x / a;

    if (y / b < res) res = y / b;

    if (z / c < res) res = z / c;

    System.out.println(res);

    con.close();

  }

}

 

Python реализация

 

a, b, c = map(int, input().split())

x, y, z = map(int, input().split())

print(min(x // a, y // b, z // c))