М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
89132508504
89132508504
26.10.2020 05:18 •  Информатика

Инфа напишите код на python, плз Летом, в Ялте, ученики стоят в очереди за мороженным. Известно, что в очереди стоит N учеников. Каждый в очереди планирует купить себе одно мороженное. Как правило, но не всегда, два мороженных в одни руки продавец продаёт быстрее, чем одно. Поэтому некоторые из учеников решили объединиться в пары. Объединиться в пару могут только рядом стоящие ученики, чтобы не была нарушена очередность продажи мороженного, при этом мороженное на объединившихся в пары учеников всегда покупает тот, кто стоял первым из них.
Известно, что на продажу i-му ученику из очереди одного мороженного продавец потратит Xi секунд, на продажу двух мороженных — Yi секунд. Напишите программу, которая подсчитает минимальное время, за которое могут быть обслужены все покупатели.
Со стандартного потока ввода сначала считывается число N (1 ≤ N ≤ 10000) — количество покупателей. Далее в N строках вводятся пары целых неотрицательных чисел Xi, Yi. (1 ≤ Xi, Yi ≤ 100) -время обслуживания для каждого покупателя. Где первая пара чисел – это время обслуживания первого ученика в очереди, вторая пара – время обслуживания второго ученика в очереди и т.д.
Требуется вывести минимальное время в секундах, за которое могут быть обслужены все покупатели.

👇
Ответ:
и5п5п
и5п5п
26.10.2020

Не очень уверен в правильности данного решения, потестил немного на разных вариантах - вроде работает. Но ощущение, что какой-то он корявый...

n = int(input('Введите количество учеников: '))

a = [list(map(int, input(f'Введите 1<=Xi и Yi<=100 через пробел для {i+1}-го ученика: ').split())) for i in range(n)]

print(a)

i = 0

summ = 0

while i <= len(a)-1:

   if i < len(a)-2:

       if a[i][1] < a[i+1][1]:

           summ += a[i][1]

           i += 2

       else:

           summ += a[i][0]

           i += 1

   elif i == len(a)-2:

       summ += a[i][1]

       i += 2

   else:

       summ += a[i][0]

       i += 1

print(summ)

4,7(11 оценок)
Открыть все ответы
Ответ:
vnviy1234
vnviy1234
26.10.2020
1) не поняттен вопрос
2) 15 13 9 3 -5 -15 -27 -41 -57 -75
3) 6
4) for i := 1 to 10 do
    begin
        if (a[i] > 0) then
            a[i] := i
        else a[i] := 0;
        write(a[i], ' ');
    end;

код полностью

var
    a: array[1..10] of integer;
    i, k: integer;

begin
    for i := 1 to 10 do
    begin
        a[i] := 15 - i * (i - 1);
        write(a[i], ' ');
    end;
    writeln;
   
    K := 0;
    for i := 1 to 10 do
        if a[i] < 0 then
            k := k + 1;
    Write(k);
    writeln;
   
    for i := 1 to 10 do
    begin
        if (a[i] > 0) then
            a[i] := i
        else a[i] := 0;
        write(a[i], ' ');
    end;
end.
4,5(15 оценок)
Ответ:
Nyashka12
Nyashka12
26.10.2020
В 1623 году немец Вильгельм Шиккард создал так называемые «Считающие часы», которые сегодня принято считать первым автоматическим калькулятором.

В 1642 году машину в сложении чисел изобрёл французскийучёный Блез Паскаль. «Паскалина», как назвал свою конструкцию изобретатель, представляла собой механическое устройство в виде ящичка, наполненного многочисленными шестерёнками. Складываемые числа вводились в машину за счёт соответствующего поворота наборных колёсиков. На каждом из этих колёсиков, соответствовавших одному десятичному разряду, были нанесены деления с цифрами от 0 до 9. При вводе числа колёсики прокручивались до соответствующей цифры. При завершении полного оборота избыток над цифрой 9 переносился на соседний разряд (на 1 позицию сдвигалось соседнее колесо) и так далее. 
4,6(100 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ