Дан целочисленный массив из 30 элементов. Элементы массива могут принимать значения от -20 до 20 - сведения о температуре за каждый день ноября. Опишите на русском языке или на одном из языков программирования алгоритм, который находит и выводит максимальную температуру среди дней, когда были заморозки (то есть температура опускалась ниже нуля). Гарантируется, что хотя бы в один из дней ноября была отрицательная температура.
ПаскальConst N=30; var a: array [1..N] of integer; i, j, min: integer; begin for i:=1 to N do read(a[i]); ... end. |
БейсикN=30 DIM A(N) AS INTEGER DIM I, J, MIN AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I ... END |
Cи#include |
Естественный языкОбъявляем массив A из 30 элементов. Объявляем целочисленные переменные I, J, MIN. В цикле от 1 до 30 вводим элементы массива A с 1-го по 30-й. ... |
34 2 43 34 12 42 31 23 24 45 34 2 43 34 12 42 31 23 24 45 34 2 43 34 12 42 31 23 24 45
23
Вдоль границы двух государств когда-то была построена новая стена. Она была собрана из одинаковых кубических блоков и ее высота по всей длине была одинаковой и равнялась 5 блокам. Много лет этого было достаточно, чтобы удержать соседние королевства от нападения друг на друга. Однако инспекция, посланная одним из королей к стене, обнаружила, что во многих вертикальных рядах один или несколько верхних блоков разрушились или упали.
Инспекция составила отчет, в котором для каждого вертикального ряда блоков указана его нынешняя высота. Военное министерство сразу же заинтересовалось вопросом: где находится самый уязвимый участок стены? Участок стены является уязвимым, если он целиком состоит из подряд идущих рядов, высота которых меньше 5 и ограничен с обеих сторон либо границами стены, либо рядами блоков максимальной высоты.
Например, у стены на рисунке два уязвимых участка (второй и третий ряд; пятый и шестой ряды, считая слева). Длина стены на рисунке равна 6.
Один участок стены считается более уязвимым чем другой, если для его полного восстановления понадобится больше блоков.
Для стены на рисунке второй участок более уязвимый чем первый.
Определите номера рядов, с которого начинается и которым заканчивается самый уязвимый участок стены, а также количество блоков, которые необходимы для его полного восстановления. Если возможны несколько вариантов ответа, выведите их все, начиная с самого левого участка (такого, который начинается с блока с минимальным номером).
Cначала вводится число N – длина стены (натуральное, не превышает 1000), затем следует N целых чисел в диапазоне от 0 до 5 – высота соответствующего вертикального ряда. Гарантируется, что на стене есть хотя бы один уязвимый участок.
Выведите через пробел номер блока, с которого начинается самый уязвимый участок, затем номер, которым он заканчивается, затем количество блоков, которые нужны для полного восстановления этого участка.
6 5 3 2 5 2 2
5 6 6
10 5 1 5 2 5 3 5 5 0 2
9 10 8
В некотором интернет - магазине действует N накопительных скидок. Когда сумма, уплаченная каким-то клиентом за его предыдущие заказы превысит x1, начинает действовать скидка a1 (это означает что за последующие покупки клиент платит на a1 процентов меньше). Затем, когда суммарная стоимость покупок превысит x2 начинает действовать скидка a2. И так далее. Когда суммарная стоимость покупок превысит xn, то начинает действовать скидка an. Известно, что a1<a2<…<an.
Покупатель хочет купить K товаров в определенном порядке. Рассчитайте, какую сумму денег потратит покупатель (считается, что каждый товар он будет оформлять отдельным заказом, поэтому к моменту следующей покупки на нее будет распространяться самая большая возможная скидка.
Сначала вводится число N (натуральное, не превышает 10) – общее количество скидок. Затем вводится N пар чисел: величина скидки ai (натуральное, не превышает 100) и сумма, которую надо превысить чтобы получить такую скидку xi (натуральное, не превышает 100000). Далее вводится число K – количество товаров, которые хочет приобрести покупатель (натуральное, не более 100). Затем следует K чисел – цена каждого товара (натуральное, не более 1000). Гарантируется, что каждая следующая скидка дается после большей суммы, чем предыдущая, также гарантируется что величина каждой следующей скидки больше предыдущей. Гарантируется, что все цены в интернет-магазине кратны 100.
Выведите единственное число – сколько денег потратит покупатель при заданном порядке покупок.
Пример:
Исходные данные | Результат |
2 2 10 4 100 2 100 100 | 198 (обратите внимание, что скидка начисляется только после превышения суммы, поэтому после первой покупки скидка равна не 4, а 2%) |
3 2 10 4 20 8 30 1 1000 | 1000 (скидка начисляется только после совершения покупки) |
В одном карточном клубе состоит N джентльменов. Иногда азарт некоторых из них берет верх над благоразумием, и кто-то проигрывает больше денег, чем у него есть с собой. В этом случае проигравший обычно берет в долг у кого-то из посетителей клуба, чтобы расплатиться с партнерами по игре. Чтобы начать новый год "с чистого листа", джентльмены решили собраться в клубе и оплатить все долговые расписки, которые накопились у них друг к другу. Однако выяснилось, что иногда одни и те же джентльмены в разные дни выступали как в роли должников, так и в роли кредиторов. Поскольку истинные джентльмены считают мелочный подсчет денег ниже своего достоинства, то расчетами придется заняться вам.
Напишите программу, которая по заданным распискам вычислит, сколько всего должен каждый джентльмен выплатить другим (или получить с других).
Cначала вводится число N – количество джентльменов (натуральное, не превышает 100, не менее 2), затем вводится число K – количество долговых расписок (натуральное, не превышает 10000), после этого следует K троек чисел: номер джентльмена взявшего в долг, номер джентльмена давшего деньги и сумма. Номера джентльменов в расписках – натуральные числа, не превышающие N. Сумма - натуральное число, не превышает 100. Гарантируется, что ни один джентльмен не брал в долг сам у себя.
Выведите N чисел – суммы, которые должны получить соответствующие джентльмены. Выведите положительное число, если этот джентльмен должен получить деньги от других, отрицательное – если он должен отдать деньги другим.
2 3 1 2 10 1 2 20 1 2 20
-50 50
3 1 3 1 100
100 0 -100