Эвелина123412
30.04.2023 06:57

N = int(input()) x = list(map(int,input().split()))
q = int(input())
i = []
g = 0
for z in range(q):
c = int(input())
i.append(c)
for u in range(q):
for d in range(n):

if i[u] >= x[d]:
g = g + 1
print(g)
g = 0

максимально сократить
УСЛОВИЕ:
E. Интересный напиток
ограничение по времени на тест2 секунды
ограничение по памяти на тест256 мегабайт
вводстандартный ввод
выводстандартный вывод
Рабочий Василий очень любит отдыхать после работы, поэтому его часто можно встретить в каком-нибудь баре. Как и все программисты, Василий очень любит напиток «Пикола», который продаётся в n различных магазинах города. Известно, что в i-м магазине бутылка напитка стоит xi монет.

Василий планирует покупать одну бутылку своего любимого напитка на протяжении q дней. Он знает, что в i-й день у него с собой будет mi монет, и теперь он хочет для каждого из дней узнать, в каком количестве магазинов он сможет купить одну бутылочку Пиколы.

Входные данные
В первой строке входных данных содержится целое число n (1 ≤ n ≤ 100 000) —количество магазинов в городе, продающих любимый напиток Василия.

Во второй строке входных данных содержится n чисел xi (1 ≤ xi ≤ 100 000) — цена за одну бутылку напитка в i-м магазине.

В третьей строке входных данных содержится число q (1 ≤ q ≤ 100 000) —количество дней, в течение которых Василий планирует покупать напиток.

В следующих q строках входных данных содержатся целые числа mi (1 ≤ mi ≤ 109) — количество денег, которое есть у Василия в i-й день.

Выходные данные
Выведите q целых чисел, i-е из которых должно равняться количеству магазинов, в которых Василий может купить одну бутылочку любимого напитка в день i.

Пример
входные данныеСкопировать
5
3 10 8 6 11
4
1
10
3
11
выходные данныеСкопировать
0
4
1
5
Примечание
В первом запросе ни в одном магазине Василию не хватит денег.

Во втором запросе Василию хватит денег, чтобы купить напиток в магазинах под номерами 1, 2, 3 и 4.

В третьем запросе Василию хватит денег, чтобы купить напиток в магазине под номером 1.

И в последнем запросе Василий может купить свой напиток в любом магазине.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
AlicaWolker16
18.05.2020 19:01
Циклы итерационного типа.. это while и repeat? Тогда отличаются тем, что цикл с параметром всегда выполняется конечное число раз, итерационные циклы могут повторяться бесконечно.

Принцип действия цикла FOR(цикла с параметром): при изменении некой переменной от начала до конца выполняется тело цикла. Всё очень просто!

При вызове процедуры с параметрами необходимо указать все необходимые параметры.

Вызов процедур и функций осуществляется путём простого указания их названия в тексте программы (при необходимости - с требуемыми параметрами)

Процедура просто выполняет определённые действия, функция тоже выполняет некоторые действия, плюс она ещё вычисляет и возвращает в программу некоторое значение.
0,0(0 оценок)
Ответ:
sabinakalisheva
04.10.2021 08:07
Перебираешь все взаимно простые m > n разной четности, так чтобы m*m было меньше 30. И формируешь тройки по формуле:
k*(m*m-n*n, 2*m*n, m*m + n*n)

Например так:
function gcd(a,b: integer): integer;
begin
  if b = 0 then gcd := a
  else if (a > b) and (b > 0) then gcd := gcd(b, a mod b)
  else gcd := gcd(b, a);
end;

procedure Print(m,n:integer);
var i, a, b, c: integer;
begin
  repeat
    i := i + 1;
    a := (m*m-n*n)*i;
    b := 2*m*n*i;
    c := (m*m+n*n)*i;
    if c < 30 then
      writeln(a, ' ', b, ' ', c)
    else break;
  until false;
end;

var m, n, s: integer;
begin
  s := Trunc(Sqrt(30));
  for m := 1 to s do
    for n := m + 1 to s do 
      if (gcd(n, m) = 1) and ((m mod 2)<>(n mod 2)) then
        Print(n, m)
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота