Информатика

2 621 задачавместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Реализуйте структуру данных для эффективного вычисления сумм подряд идущих элементов массива.

Входные данные
В первой строке вводится одно натуральное число N (1 ≤ N ≤ 100000) — количество чисел в массиве.

Во второй строке вводятся N чисел от 1 до 100000 — элементы массива.

В третьей строке вводится одно натуральное число K (1 ≤ K ≤ 30000) — количество запросов на вычисление суммы.

В следующих K строках вводится по два числа — номера левого и правого элементов отрезка массива (считается, что элементы массива нумеруются с единицы).

Выходные данные
Для каждого запроса выведите сумму чисел соответствующего участка массива. Числа выводите в одну строку через пробел.
 
Ввод Вывод
5
4 4 8 7 8
2
1 2
1 3
8 16
Дано N целых чисел. Найти второй по величине максимальный элемент последовательности (элемент, который бы стоял предпоследним, если бы входные данные отсортировали по неубыванию).

Входные данные
В первой строке задается число N (\(2<=N<=10^4\)). Далее идут N строк, в каждой строке по одному целому числу, не превышающему 105 по модулю. 

Выходные данные
Выведите второй максимальный элемент.

 

Примеры
Входные данные Выходные данные
1 7
10
15
20
35
14
35
10
35
2 5
10
5
7
11
9
10
✓ 3 625✗ 11 521500лёгкаяВойти и решать
Даны координаты точки (x, y). Выведите на экран слово YES, если точка попадает в заштрихованную область, в противном случае - выведите NO. Точка, расположенная на границе с заштрихованной областью, считается не попавшей в нее.

Входные данные: На вход программе подаются два вещественных числа - координаты точки (x, y)
Выходные данные: Выведите ответ на задачу

 

Примеры
Входные данные Выходные данные
1 0.0 0.0 NO
2 1.0 1.5 YES

По данному натуральному \(n >= 2\) вычислите сумму \(1\cdot2+2\cdot3+...+(n-1)\cdot n\). Ответ выведите в виде вычисленного выражения и его значения в точности, как показано в примере.

Входные данные
Вводится одно натуральное число.

Выходные данные 
Выведите ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 4 1*2+2*3+3*4=20
✓ 6 195✗ 15 802300лёгкаяВойти и решать
Дано натуральное число \(n  <= 10^9,\) определите количество натуральных чисел, меньших \(n\) и взаимно простых с \(n\). Это число обозначается \( f(n) \)и называется фи-функцией Эйлера. Сложность алгоритма должна быть \( O(\sqrt{n})\) .

Входные данные
На вход подается натуральное число n.

Выходные данные
Выведите ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 2 1

Даны целые неотрицательные числа a, b, c, d, при этом (0 <= c <= d) . Выведите в порядке возрастания все числа от a до включительно, которые дают остаток c при делении на d.
 

Входные данные
Вводятся четыре целых числа  a, b, c, d. Каждое число с новой строки.

Выходные данные 
Выведите ответ на задачу. Числа выводите в одну строку, через один пробел. Если таких чисел в указанном интервале нет, то ничего выводить не нужно.
 
Примеры
Входные данные Выходные данные
1 2
5
0
2
2 4
✓ 178✗ 1 678700средняяВойти и решать

Даны два четырёхзначных числа A и B. Выведите в порядке возрастания все четырёхзначные числа в интервале от A до B, запись которых содержит ровно три одинаковые цифры.

Входные данные
Вводятся два целых числа A и B.

Выходные данные
Выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 1900
2100
1911
1999
2000
2022
✓ 326✗ 1 121500лёгкаяВойти и решать

Квадрат трехзначного числа оканчивается тремя цифрами, которые образуют число равное исходному числу. Найдите и выведите все такие числа.
Например, одно из таких чисел это число 3762 = 141376.


Формат входных данных
Программа не требует ввода данных с клавиатуры, просто выводит список искомых чисел.

Формат выходных данных
Выведите ответ на задачу. Числа выводить по одному в строке.
✓ 485✗ 796400лёгкаяВойти и решать

Возводить в степень можно гораздо быстрее, чем за n умножений! Для этого нужно воспользоваться следующими рекуррентными соотношениями:
\(a^n=(a^2)^{n/2},\ при \ четном \ n, \\ a^n=a \cdot a^{n-1},\ при \ нечетном \ n.\)

Реализуйте алгоритм быстрого возведения в степень. Если вы все сделаете правильно, то сложность вашего алгоритма будет O(logn) .

Входные данные
Программа получает на вход вещественное число a и целое число n (a > 0, 0 <= n <= 109). Каждое число в отдельной строке. 

Выходные данные 
Выведите \(a^n\) с точностью не менее 5 знаком после запятой.
 
Примеры
Входные данные Выходные данные
1 2
7
128
2 1.00001
100000
2.71827
✓ 2 301✗ 10 129500лёгкаяВойти и решать
Пришедших на занятия учеников требуется рассадить за парты. Всего пришло N учеников. За одну парту могут сесть не более L учеников. Какое минимальное число парт потребуется? Написать программу: вводятся два целых числа N и L; вывести одно число - ответ на задачу

Примеры
Входные данные Выходные данные
1 40 10 4
 
 

Даны два четырёхзначных числа A и B. Выведите все четырёхзначные числа на отрезке от A до B, запись которых является палиндромом.

Входные данные
Вводятся два целых числа A и B (\(1000 \leq A,\ B \leq 9999\)).

Выходные данные 
Выведите ответ на задачу.
✓ 5 583✗ 8 240400лёгкаяВойти и решать

Найдите и выведите все двузначные числа, которые равны удвоенному произведению своих цифр.

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

Выходные данные 
Выведите ответ на задачу (числа выводите в одной строке через пробел в порядке возрастания). 
✓ 6 853✗ 7 648300лёгкаяВойти и решать

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

Входные данные 
Вводится одно натуральное число.

Выходные данные 
Выведите все требуемые числа в одной строке через пробел.
 

 

Примеры
Входные данные Выходные данные
1 1 9 7 5 3 1
✓ 5 956✗ 15 035400лёгкаяВойти и решать

Даны два целых числа A и В. Выведите все числа от A до B включительно, в порядке возрастания, если \(A < B\), или в порядке убывания в противном случае.

Входные данные 
Вводятся два целых числа, по одному числу в строке.

Выходные данные 
Выведите ответ на задачу. Числа можете выводить как в строчку через пробел, так и в столбик (способ вывода не важен).
 

 

Примеры
Входные данные Выходные данные
1 1
10
1 2 3 4 5 6 7 8 9 10
✓ 7 625✗ 27 863300лёгкаяВойти и решать

В Хогвартсе проходит традиционная ежегодная олимпиада по теории магии среди младшекурсников. Завхозу школы Аргусу Филчу поручили заняться распределением студентов по аудиториям.

Каждый факультет выставил своих лучших учеников на олимпиаду. От Гриффиндора участвует G студентов, от Слизерина S студентов, Пуффендуй представляет H студентов и Когтевран — R студентов. В распоряжении Филча находится M аудиторий. На аудитории наложено особое заклятие расширения, поэтому при необходимости они могут вместить любое количество студентов. При рассадке необходимо учесть, что ученики одного факультета, находящиеся в одной аудитории, могут, воспользовавшись случаем, начать жульничать, обмениваясь идеями по решению задач. Поэтому в любой аудитории количество студентов с одного факультета, попавших в нее, следует свести к минимуму. Назовем рассадку, удовлетворяющую такому требованию, оптимальной.

Помогите посчитать, какое минимальное количество студентов с одного факультета все же придется посадить в одной аудитории даже при оптимальной рассадке.

Входные данные: В первой строке идут четыре целых числа GSH и R (1 ≤ G, S, H, R ≤ 1000) — количество учеников, представляющих каждый из факультетов школы.

Во второй строке идет целое число M (1 ≤ M ≤ 1000) — количество классов в распоряжении у Филча.

Выходные данные: Выведите минимальное количество студентов с одного факультета, которое Филчу придётся посадить в одну аудиторию даже при оптимальной рассадке.
Примеры

Входные данные Выходные данные
1 4 3 4 4
2
2
2 15 14 13 14
3
5

Вагоны в электричке пронумерованы натуральными числами, начиная с 1 (при этом иногда вагоны нумеруются от «головы» поезда, а иногда – с «хвоста»; это зависит от того, в какую сторону едет электричка). В каждом вагоне написан его номер.

Витя сел в i-й вагон от головы поезда и обнаружил, что его вагон имеет номер j. Он хочет определить, сколько всего вагонов в электричке. Напишите программу, которая будет это делать или сообщать, что без дополнительной информации это сделать невозможно.

Входные данные: На вход программы поступают два числа i и j (1 ≤ i ≤ 1000, 1 ≤ j ≤ 1000), разделенные пробелом.
Выходные данные: Выведите одно число — количество вагонов в электричке. Если однозначно определить количество вагонов нельзя, выведите  число  0
Примеры
Входные данные Выходные данные
1 3 4 6

В офисе, где работает программист Петр, установили кондиционер нового типа. Этот кондиционер отличается особой простотой в управлении. У кондиционера есть всего лишь два управляемых параметра: желаемая температура и режим работы.

Кондиционер может работать в следующих четырех режимах:

  • «freeze» — охлаждение. В этом режиме кондиционер может только уменьшать температуру. Если температура в комнате и так не больше желаемой, то он выключается.
  • «heat» — нагрев. В этом режиме кондиционер может только увеличивать температуру. Если температура в комнате и так не меньше желаемой, то он выключается.
  • «auto» — автоматический режим. В этом режиме кондиционер может как увеличивать, так и уменьшать температуру в комнате до желаемой.
  • «fan» — вентиляция. В этом режиме кондиционер осуществляет только вентиляцию воздуха и не изменяет температуру в комнате.

Кондиционер достаточно мощный, поэтому при настройке на правильный режим работы он за час доводит температуру в комнате до желаемой.

Требуется написать программу, которая по заданной температуре в комнате troom, установленным на кондиционере желаемой температуре tcond и режиму работы определяет температуру, которая установится в комнате через час.

Входные данные: Первая строка содержит два целых числа troom, и tcond, разделенных ровно одним пробелом (–50 ≤ troom ≤ 50, –50 ≤ tcond ≤ 50).

Вторая строка содержит одно слово, записанное строчными буквами латинского алфавита — режим работы кондиционера.

Выходные данные: Необходимо вывести дно целое число — температуру, которая установится в комнате через час.

Примечание: 
В первом примере кондиционер находится в режиме нагрева. Через час он нагреет комнату до желаемой температуры в 20 градусов.

Во втором примере кондиционер находится в режиме охлаждения. Поскольку температура в комнате ниже, чем желаемая, кондиционер самостоятельно выключается и температура в комнате не поменяется.
Примеры

Входные данные Выходные данные
1 10 20
heat
20
2 10 20
freeze
10

Всем известно, что в 2012 году прошла Летняя Олимпиада в Лондоне, однако не каждый знаком с историей крупнейших спортивных соревнований. Традиция игр зародилась в Древней Греции, но была забыта по завершении античной эпохи и вновь появилась лишь в конце XIX века благодаря французскому общественному деятелю Пьеру де Кубертену.

С 1896 года вновь проводятся летние Олимпийские игры, а с 1924 — зимние, причём оба вида соревнований проходят раз в четыре года. Первое время зимняя и летняя Олимпиады проводились в один и тот же год, но в конце XX века Международный олимпийский комитет принял решение установить между разными видами Игр двухгодичный перерыв. Таким образом, 1992 год был в последний раз отмечен проведением одновременно летних и зимних Олимпийских игр, в 1994 проводились только зимние, в 1996 — летние, и с тех пор они продолжают чередоваться.

Известно также, что в 1916, 1940 и 1944 годах Олимпийские игры были отменены по причине Первой и Второй мировых войн, а в 1906 году проводилась внеочередная Олимпиада.

Требуется написать программу, которая по заданному году определит, проводились ли в этом году Олимпийские игры и были ли они летними или зимними.

Входные данные: На вход программе подаётся одно натуральное число N (1800 ≤ N ≤ 2014) — номер года.

Выходные данные: Выведите «winter», если в этом году была проведена только зимняя Олимпиада, «summer», если только летняя, «winter summer», если прошли обе олимпиады, и «nothing», если в этот год олимпийских игр не проводилось.

Примеры
Входные данные Выходные данные
1 1896 summer
2 1924 winter summer
Обеденный перерыв Гомера Симпсона составляет T миллисекунд. Один гамбургер Гомер съедает за N миллисекунд, один чизбургер - за M. Какое количество гамбургеров и чизбургеров нужно съесть, чтобы потраченное время было как можно больше, не превышая T. При равенстве потраченного времени необходимо максимизировать суммарное количество съеденных гамбургеров и чизбургеров.

Ограничения: 1 <=M, N, T, <= 1000000 , все числа целые.

Входные данные
В первой строке находятся три числа - M, N и T, разделённые пробелами.

Выходные данные
Вывести максимальное суммарное число гамбургеров и чизбургеров. Если остаётся какое-то время, требуется указать его через пробел. Предпочтителен вариант, когда дополнительного времени остаётся как можно меньше.
 
Ввод Вывод
1 2 1000 1000
2 1 1000 1000
3 6 1000 333 1
С клавиатуры вводятся два целых числа - стороны прямоугольника. Напишите программу нахождения его периметра и длины диагонали. Выведите в первой строке периметр прямоугольника, во второй строке - длину его диагонали.
 
Пример
Входные данные Выходные данные
1 2 13 30
13.152946
Поделиться
Класснуть