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

C++!! Upper bound На вход подаются N целых чисел, а также набор из M запросов, каждый из которых — целое число. Ваша задача — для каждого запроса найти количество чисел из исходного набора, меньших либо равных заданному в запросе числу. Использовать встроенные функции бинарного поиска запрещено.

Входные данные

Первая строка содержит число N — количество элементов в массиве. 1≤N≤250000.

Вторая строка содержит N целых чисел Ai через пробел. −10^9≤Ai≤10^9.

Третья строка содержит число M — количество запросов. 1≤M≤250000.

Четвёртая строка содержит M целых чисел Qi через пробел. −10^9≤Qi≤10^9.

Выходные данные

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

Примеры

Ввод

5

1 5 3 2 1

2

4 3

Вывод

4 4

Ограничения

Время выполнения: 3 секунды

👇
Ответ:
ArthurMyChemov
ArthurMyChemov
06.05.2021

#include <iostream>

using namespace std;

int main() {

int N;

cin >> N;

long* arrN = new long[N];

for (int i = 0; i < N; ++i) {

 cin >> arrN[i];

}

int M;

cin >> M;

long* arrM = new long[M];

for (int i = 0; i < M; ++i) {

 cin >> arrM[i];

}

for (int i = 0; i < M; ++i) {

 int count = 0;

 for (int j = 0; j < N; ++j) {

  if (arrN[j] <= arrM[i]) {

   ++count;

  }

 }

 cout << count << " ";

}

}

4,8(73 оценок)
Открыть все ответы
Ответ:
КлешВова
КлешВова
06.05.2021
Основные сочетания клавиш
CTRL+C: копирование
CTRL+X: вырезание
CTRL+V: вставка
CTRL+Z: отмена действия
DELETE: удаление
SHIFT+DELETE: удаление выбранного объекта без возможности восстановления, не помещая объект в корзину
CTRL с перетаскиванием объекта: копирование выделенного объекта
CTRL+SHIFT с перетаскиванием объекта: создание ярлыка для выбранного объекта
Клавиша F2: переименование выбранного объекта
CTRL+СТРЕЛКА ВПРАВО: перемещение точки ввода в начало следующего слова
CTRL+СТРЕЛКА ВЛЕВО: перемещение точки ввода в начало предыдущего слова
CTRL+СТРЕЛКА ВНИЗ: перемещение точки ввода в начало следующего абзаца
CTRL+СТРЕЛКА ВВЕРХ: перемещение точки ввода в начало предыдущего абзаца
CTRL+SHIFT + клавиши со стрелками: выделение блока текста
SHIFT + клавиши со стрелками: выбор нескольких объектов в окне или на рабочем столе, а также выделение текста в документе
CTRL+A: выделение всего документа
Клавиша F3: поиск файла или папки
ALT+ВВОД: просмотр свойств выбранного объекта
ALT+F4: закрытие активного окна или завершение работы активной программы
ALT+ВВОД: просмотр свойств выбранного объекта
ALT+ПРОБЕЛ: вызов контекстного меню активного окна
CTRL+F4: закрытие активного документа в приложениях, в которых одновременно можно открыть несколько документов
ALT+ТАБУЛЯЦИЯ: переход между открытыми объектами
ALT+ESC: просмотр объектов в том порядке, в котором они были открыты
Клавиша F6: поочередный просмотр элементов интерфейса в окне или на рабочем столе
Клавиша F4: отображение панели адресов в папке «Мой компьютер» или в обозревателе Windows Explorer
SHIFT+F10: вызов контекстного меню для выделенного элемента
ALT+ПРОБЕЛ: вызов системного меню для активного окна
CTRL+ESC: вызов меню «Пуск»
ALT+подчеркнутая буква в названии меню: вызов соответствующего меню
Подчеркнутая буква в имени команды открытого меню: выполнение соответствующей команды
Клавиша F10: активация строки меню в используемой программе
СТРЕЛКА ВПРАВО: вызов следующего меню справа или подменю
СТРЕЛКА ВЛЕВО: вызов следующего меню слева или закрытие подменю
Клавиша F5: обновление активного окна
Клавиша BACKSPACE: просмотр содержимого папки, расположенной выше на один уровень в каталоге «Мой компьютер» или обозревателе Windows Explorer
Клавиша ESC: отмена выполняемого задания
SHIFT при загрузке компакт-диска в привод для компакт-дисков: предотвращение автоматического воспроизведения компакт-диска
CTRL+SHIFT+ESC: вызов диспетчера задач
4,8(55 оценок)
Ответ:
ХЗшкин
ХЗшкин
06.05.2021
2048 это два в 11 степени, значит для записи информации о цвете требуется одиннадцать двоичных разрядов(бит). Это и есть глубина цвета- 11 бит.

Чтобы найти в какую степень требуется возвести двойку для получения числа 2048, нужно вычислить логарифм 2048 по основанию 2  (log₂ 2048). Либо, можно делить 2048 на 2 до тех пор, пока не останется 1 (сколько раз делили и будет ответом).

Если ваш калькулятор не позволяет вычислять логарифмы по произвольному основанию, то можно воспользоваться формулой смены основания логарифма, тогда для расчёта можно использовать десятичный либо натуральный логарифм:
log_{b} \ N = \frac{log_{a}N}{log_{a}b} = \frac{ln N}{ln \thinspace b} = \frac{lg N}{lg \thinspace b}

Используем натуральный логарифм:
log_{2} \ 2048 = \frac{ln \ 2048}{ln \ 2} \approx \frac{7,624619}{0,693147} \approx 11
(если при вычислении не округлять результаты, а использовать полную точность, то получится ровно 11)
4,5(81 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ