Информатика

15 960 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
Дан массив из N положительных чисел. Найти в нем минимальное количество подряд идущих чисел, таких что их сумма больше K.

Входные данные
В первой строке записано число N, во второй - K (0<N<= 106, 0<=K<= 109). В третьей строке записаны натуральные числа последовательности.

Выходные данные
Выведите длину наименьшей последовательности чисел, сумма которых больше K. Если такой последовательности найдено не будет, то выведите -1.
 
Примеры
№ Входные данные Выходные данные
1 6
7
3 1 3 2 4 3
3

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

В наличии имеется \(N_1\) кепок, \(N_2\) маек, \(N_3\) штанов и \(N_4\) пар ботинок (\(1 \le N_i \le 100\,000\)). Про каждый элемент одежды известен его цвет (целое число от 1 до \(100\,000\)). Комплект одежды — это одна кепка, майка, штаны и одна пара ботинок. Каждый комплект характеризуется максимальной разницей между любыми двумя его элементами. Помогите Глебу выбрать максимально стильный комплект, то есть комплект с минимальной разницей цветов.

Формат входных данных
Для каждого типа одежды \(i\) (\(i = 1, 2, 3, 4\)) сначала вводится количество \(N_i\) элементов одежды этого типа, далее в следующей строке — последовательность из \(N_i\) целых чисел, описывающих цвета элементов. Все четыре типа подаются на вход последовательно, начиная с кепок и заканчивая ботинками. Все вводимые числа целые, положительные и не превосходят \(100\,000\).

Формат выходных данных
Выведите четыре целых числа — цвета соответственно для кепки, майки, штанов и ботинок, которые должен выбрать Глеб из имеющихся для того, чтобы выглядеть наиболее стильно. Если ответов несколько, выведите любой.

В центре города Че есть пешеходная улица - одно из самых популярных мест для прогулок жителей города. По этой улице очень приятно гулять, ведь вдоль улицы расположено n забавных памятников.
 
Девочке Маше из города Че нравятся два мальчика из ее школы, и она никак не может сделать выбор между ними. Чтобы принять окончательное решение, она решила назначить обоим мальчикам свидание в одно и то же время. Маша хочет выбрать два памятника на пешеходной улице, около которых мальчики будут ее ждать. При этом она хочет выбрать такие памятники, чтобы мальчики не увидели друг друга. Маша знает, что из-за тумана мальчики увидят друг друга только в том случае, если они будут на расстоянии не более r метров.
 
Маше заинтересовалась, а сколько способов есть выбрать два различных памятника для организации свиданий.
 
Входные данные
В первой строке находятся два целых числа n и r (2<=n<=300 000, 1<=r<=109) - количество памятников и максимальное расстояние, на котором мальчики могут увидеть друг друга.
Во второй строке задано n положительных чисел d1 ... dn, где di - расстояние от i-го памятника до начала улицы. Все памятники находятся на разном расстоянии от начала улицы. Памятники приведены в порядке возрастания расстояния от начала улицы (1<=d1 <d2< ... < dn<=109).
 
Выходные данные
Выведите одно число - число способов выбрать два памятника для организации свиданий.
 
Примеры
№ Входные данные Выходные данные Пояснение
1
4 4
1 3 5 8
2 В приведенном примере Маша может выбрать памятники 1 и 4 или памятники 2 и 4.
 
В парке города Питсбурга есть чудесная аллея, состоящая из N посаженных в один ряд деревьев, каждое одного из K сортов. В связи с тем, что Питсбург принимает открытый чемпионат Байтландии по программированию, было решено построить огромную арену для проведения соревнований. Так, согласно этому плану вся аллея подлежала вырубке. Однако министерство деревьев и кустов воспротивилось этому решению, и потребовало оставить некоторые из деревьев в покое. Согласно новому плану строительства все деревья, которые не будут вырублены, должны образовывать один непрерывный отрезок, являющийся подотрезком исходного. Каждого из K видов деревьев требуется сохранить хотя бы по одному экземпляру. На вас возложена задача найти отрезок наименьшей длины, удовлетворяющий указанным ограничениям.
 
Входные данные
В первой строке входного файла находятся два числа N и K ( 1 ≤ N , K ≤ 250000 ). Во второй строке входного файла следуют N чисел (разделенных пробелами), i -ое число второй строки задает цвет i -ого слева дерева в аллее. Гарантируется, что присутствует хотя бы одно дерево каждого цвета
 
Выходные данные
В выходной файл выведите два числа, координаты левого и правого концов отрезка минимальной длины, удовлетворяющего условию. Если оптимальных ответов несколько, выведите любой.
 
Ввод Вывод
5 3
1 2 1 3 2
2 4
6 4
2 4 2 3 3 1
2 6
Дано число N и N различных целых чисел. Необходимо вывести позицию минимального и максимального чисел среди всех N чисел.

Входные данные
В первой строке вводится число N - количество чисел  (\(N<=100\)). Далее идут N чисел, по одному в строке  (все числа целые, не превышающие по модулю 10 000).

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

 

Примеры
№ Входные данные Выходные данные
1 5
-2
1
2
3
0
1 4

При сложностях:
Теоретическая карточка содержит подсказку.
✓ 5 173✗ 12 196400лёгкаяВойти и решать
Дано число N и последовательность из N чисел. Необходимо вывести минимальное четное число среди заданных N чисел.

Входные данные
В первой строке вводится число N - количество чисел  (\(N<=100\)). Далее идут N чисел по одному в строке (все числа целые, не превышающие по модулю 10 000). Среди N чисел имеется хотя бы одно четное число.

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

 

Примеры
№ Входные данные Выходные данные
1 5
-2
1
2
3
0
-2
✓ 6 010✗ 16 333300лёгкаяВойти и решать
Вводится число N и затем N чисел по одному в строке. Необходимо вывести максимальное число среди всех вводимых чисел.

Входные данные
В первой строке вводится число N - количество чисел  (\(N<=100\)). Далее по одному в строке идут N чисел (все числа целые, не превышающие по модулю 10 000).

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

 
Примеры
№ Входные данные Выходные данные
1 5
0
1
2
3
4
4
✓ 6 829✗ 16 546300лёгкаяВойти и решать
Фермер Джон получил груз из N больших стогов сена (1≤N≤4000) и разместил эти стога в различных точках дороги, ведущей к его амбару. К несчастью, он совсем забыл, что Беси пасётся вдоль этой дороги и может оказаться в ловушке из этих стогов.
Каждый стог с номером j имеет размер Sj и уникальную позицию Pj, задающую его положение вдоль одномерной дороги. Беси начинает движение в некоторой позиции, где не было стога и может передвигаться свободно вдоль дороги, вплоть до позиции, где размещён стог сена, но она не может перейти эту позицию. В качестве исключения, если она движется в некотором направлении D единиц расстояния, она набирает достаточно скорости, чтобы протаранить любой стог сена с высотой строго меньше, чем D. Конечно, после того, как она сделает это, перед ней открывается пространство с другими стогами сена, которые она тоже может протаранить.
 
Беси может выйти на свободу как после самого левого, так и после самого правого стога сена. Пожалуйста, определите общую длину дороги, состоящую из тех позиций, из которых Беси не сможет выбраться. Например, если Беси не может выбраться если она начинает с позиции между стогами в позициях 1 и 5, тогда ответ будет 4 (поскольку эти позиции ограничивают область размером 4).
 
ФОРМАТ ВВОДА:
Первая строка ввода содержит NN. Каждая из последующих NN строк описывает стог и содержит два целых числа, определяющих его размер и позицию, каждое в диапазоне 1…109.

ФОРМАТ ВЫВОДА:
Выведите целое число, определяющее длину части дороги из которой Беси не сможет сбежать.
 
Ввод Вывод
5
8 1
1 4
8 8
7 15
4 20
14
Фермер Джон и корова Беси в свободное время любят обмениваться математическими пазлами. Последний пазл, который ФД дал Беси, был довольно сложный и Беси не смогла решить его. Теперь она хочет дать ФД очень сложный пазл.

Беси даёт ФД выражение  (B+E+S+S+I+E)(G+O+E+S)(M+O+O), содержащее семь переменных B,E,S,I,G,O,M ( "O" это переменная, а не 0). Для каждой переменной она даёт ФД список до 20 целых чисел, которые эта переменная может принять. Беси просит ФД посчитать количество различных способов назначить значения переменным, чтобы вычисленное выражение было чётным числом.

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

Первая строка ввода содержит целое число N. Каждая из N следующих строк содержит переменную и возможное значение для этой переменной. Каждая переменная появится в этом списке не менее одного раза и не более 20 раз. Для одной и той же переменной все задаваемые значения различны. Все значения находятся в диапазоне от −300 до 300.

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

Выведите единственное целое число, задающее количество способов, которыми ФД может назначить значения переменным, чтобы выражение давало чётный результат.

 

Ввод Вывод
10
B 2
E 5
S 7
I 10
O 16
M 19
B 3
G 1
I 9
M 2
6
 

Всего имеется 6 подходящих вариантов назначения переменным значений:

 

(B,E,S,I,G,O,M) = (2, 5, 7, 10, 1, 16, 19) -> 53,244
                = (2, 5, 7, 10, 1, 16, 2 ) -> 35,496
                = (2, 5, 7, 9,  1, 16, 2 ) -> 34,510
                = (3, 5, 7, 10, 1, 16, 2 ) -> 36,482
                = (3, 5, 7, 9,  1, 16, 19) -> 53,244
                = (3, 5, 7, 9,  1, 16, 2 ) -> 35,496

Заметим, что (2,5,7,10,1,16,19) и (3,5,7,9,1,16,19) рассматриваются как различные назначения, несмотря на то, что они дают одинаковый результат.

✓ 8✗ 281 000средняяВойти и решать
Коровы увлекаются словесными пазлами. Например, таким
USOPEN
OOMABO
MOOMXO
PQMROM
Как коровам, им интересно только единственное слово "MOO", которое может появиться во многих местах горизонтально, вертикально или по диагонали. Пример сверху содержит 6 таких слов.
 
Фермер Джон тоже любитель таких пазлов. Поскольку коровы не хотят, чтобы он разгадывал пазлы раньше коров, они зашифровали пазл, используя заменяющий шифр, который заменяет каждую букву алфавита некоторой другой, отличающейся буквой. Например, A может заменяться буквой X, B - буквой A и т.д. Никакая буква не заменяется собой и никакие две буквы не заменяются одной и той же буквой (иначе расшифровка может стать неоднозначной).
 
К несчастью, коровы потеряли свою таблицу шифрования и теперь не могут расшифровать свой пазл. Пожалуйста, помогите им определить максимально возможное количество слов MOO, которое может существовать для их пазла, при выборе соответствующей таблицы шифрования
 
ФОРМАТ ВВОДА :
Первая строка ввода содержит N и M, описывающие количество строк и столбцов в пазле (оба не более 50). Каждая из следующих N строк содержит по M символов, описывающих одну строку зашифрованного пазла. Каждый символ - большая латинская буква в диапазоне A..Z.

ФОРМАТ ВЫВОДА :
Выведите максимально возможное количество слов MOO, содержащееся в пазле, если его расшифровывать с соответствующей таблицей шифрования.
 
Ввод Вывод
4 6
TAMHGI
MMQVWM
QMMQSM
HBQUMQ
6

 

Пояснение
Это пазл, приведенный в начале задачи, где "M" и "O" были заменены на "Q" и "M" соответственно.
✓ 9✗ 341 100средняяВойти и решать
Напишите программу, которая находит в массиве элемент, самый близкий по величине к данному числу.
 
Формат входных данных
В первой строке задается одно натуральное число N, не превосходящее 1000 – размер массива. Во второй строке содержатся N чисел – элементы массива (целые числа, не превосходящие по модулю 1000). В третьей строке вводится одно целое число x, не превосходящее по модулю 1000.
 
Формат выходных данных
Вывести значение элемента массива, ближайшее к x. Если таких чисел несколько, выведите любое из них.
 
✓ 1 526✗ 4 958400лёгкаяВойти и решать
Требуется найти число способов расставить на шахматной доске NxN K ладей так, чтобы они не били друг друга. Все ладьи считаются одинаковыми.
 
Входные данные
Во входном файле записаны натуральные числа N и K (\(1 <= N, K <= 8\)).
 
Выходные данные
В выходной файл выведите одно целое число - ответ задачи.
 

 

Примеры
№ Входные данные Выходные данные
1 8 8 40320
✓ 82✗ 210700средняяВойти и решать
Вывести разность между количеством двоичных деревьев с N листьями и количеством разбиений N-угольника на треугольники.
 
Входные данные
На вход подаётся одно число - N (\(1 <= N <= 10\))
 
Выходные данные
Выведите одно число - искомую разность
 

 

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

 

Вывести N-ное число Каталана

Входные данные
Первая строка входных данных содержит одно число N (\(1 <= N <= 20\)).
 
Выходные данные
Выведите одно число - N-ное число Каталана
 

 

Примеры
№ Входные данные Выходные данные
1 1 1
Однажды юный хакер Шалдыга Севин решил совершить дерзкое преступление - сменить имя своего друга Максима Никитина на сильвере, пока тот был в ЛКШ Зима (Ливневая Коробка Шредингера), чтобы Наталья Владимировна поставила ему двойку. Для этого Шалдыга решил заразить вирусом базу данных сильвера.
Однако юный хакер осознал одну проблему - он не знает, на каком именно компьютере лицея она хранится. Шалдыга не стал долго думать над этой проблемой и решил заразить все компьютеры в лицее (для надежности). Вирус работает так: раз в день он заражает все компьютеры, связанные с зараженными напрямую. Первый компьютер Шалдыге придется заразить лично, потому он может выбрать любой.
Хакер хочет узнать минимальное количество дней, которое понадобится для того, чтобы заразить все компьютеры лицея. Однако выяснилась еще одна проблема - эта задача легко решается с помощью БФСа, но написать его меньше чем за 15 дней невозможно, а Хакеру еще нужно сделать 200 номеров по математике. Поэтому Шалдыга попросил Вас сделать невозможное - написать программу, отвечающую на его вопрос, за время этого контеста.
 
Входные данные
В первой строке на вход подаются два числа N и M - количество компьютеров в лицее и соединений между ними соответственно. 1 <= N, M <= 100
В следущих M строках Вам даются описания соединений между компьютерами, а именно 2 чила U и V, которые означают, что компьютеры U и V соединены.
 
Выходные данные
Выведите ответ на вопрос Шалдыги

Ввод Вывод
6 9
1 2
1 3
2 4
2 6
3 4
3 5
4 5
4 6
5 6
2



(с) Григорьев Е., 2017

Егор Кубратов очень огорчен задачами с codeforces и олимпиады Иннополиса, поэтому теперь он сам придумывает задачи и сам же их решает. Сегодня он придумал следующую задачу:
 
“Тандемный префикс – это подстрока, образованная конкатенацией двух непустых, не обязательно одинаковых префиксов строки и не являющаяся префиксом строки*. Вам необходимо найти длиннейший тандемный префикс данной строки. Если вариантов несколько, выведите тот, вхождение которого самое раннее. Если тандемного префикса не существует, то выведите -1”
 
*Имеется в виду, что тандемный префикс не является подстрокой, начинающейся в первом символе строки. То есть по составу букв он может являться каким-то префиксом, но только если начинается не в первой позиции. Например, в строке “aaa” подстрока [2;3] является тандемным префиксом.
 
Входные данные
В первой строке дана строка, состоящая из строчных латинских букв. Длина строки не превышает 105.
 
Выходные данные
Выведите ответ, если он существует. Иначе выведите -1.
 
Ввод Вывод
abcabac aba

Подстроки abca и abcab являются конкатенациями двух префиксов, но они сами являются префиксами, что противоречит определению тандемного префикса, поэтому aba – единственный тандемный префикс данной строки.

(с) Курбатов Е., 2017
Курбат Егоров очень любит математику, особенно уравнения. Он решает их все свободное время. Но он не любит решать уравнеия, которые он не может решить, ибо это пустая трата времени, поэтому Курбат попросил Вас написать программу, которая будет определять, может ли он решить это уравнение. Курбат, как победитель всероса по информатике, разумеется, может написать эту программу сам, но у него совершенно нет на это времени - ему же нужно решать уравнения!
 
Входные данные
На вход подается одна строка без пробелов и знаков переноса строки.
В ней могут содержаться такие символы:
x - переменная, относительно которой Курбат должен решить
уравнение. Может стоять где угодно.
+-*/= - соответствующие знаки арифметических операций. НЕ могут стоять в начале уравнения. Могут стоять после икса или констант.
^ - возведение в степень. Может стоять только после икса. После может стоять только константа.
Числа от -10^1000 до 10^1000 - константы. Могут стоять после иксов, 
знаков арифметических операций и знака возведения в степень.
 
Выходные данные
Если курбат может решить уравнение, то выведите "Yes", иначе выведите "No".

Ввод Вывод
10x+x=7 Yes


(с) Григорьев Е., 2017

Поделиться
Класснуть