Информатика

15 724 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Дано натуральное число N - количество чисел, которые подаются на вход. Тройкой назовем любые 3 числа, которые вводятся  последовательно друг за другом. Определите количество троек чисел, у которых второе число из тройки больше первого и третьего чисел из данной тройки.

Входные данные
В первой строке записано натуральное число N (N<105). В следующих N строках записаны числа, по одному в строке. Каждое число по модулю не превосходит 109.

Выходные данные
Выведите на экран одно число - ответ на задачу. 
 
Примеры
Входные данные Выходные данные
1 5
1
2
1
9
8
2
 
 
✓ 151✗ 175600лёгкаяВойти и решать
Дано натуральное число N - количество чисел, которые подаются на вход. Тройкой назовем любые 3 числа, которые вводятся  последовательно друг за другом. Определите количество троек чисел, у которых сумма первых двух чисел из данной тройки равна третьему числу в данной тройке.

Входные данные
В первой строке записано натуральное число N (N<105). В следующих N строках записаны числа, по одному в строке. Каждое число по модулю не превосходит 109.

Выходные данные
Выведите на экран одно число - ответ на задачу. 
 
Примеры
Входные данные Выходные данные
1 5
1
2
3
5
8
3
 
 
✓ 172✗ 206500лёгкаяВойти и решать
Дано натуральное число N - количество чисел, которые подаются на вход. Парой назовем любые 2 числа, которые вводятся  последовательно друг за другом. Определите количество пар чисел, сумма которых кратна 3.

Входные данные
В первой строке записано натуральное число N (N<105). В следующих N строках записаны числа, по одному в строке. Каждое число по модулю не превосходит 109.

Выходные данные
Выведите на экран одно число - ответ на задачу. 
 
Примеры
Входные данные Выходные данные
1 5
4
2
6
5
4
2
✓ 134✗ 122600лёгкаяВойти и решать
Дано натуральное число N - количество чисел, которые подаются на вход. Определите, образуют ли вводимые числа знакочередующуюся последовательность.

Входные данные
В первой строке записано натуральное число N (N<105). В следующих N строках записаны ненулевые числа, по одному в строке. Каждое число по модулю не превосходит 109.

Выходные данные
Выведите на экран YES, если числа образуют знакочередующуюся последовательность, в противном случае выведите NO.
 
Примеры
Входные данные Выходные данные
1 5
1
-2
3
-4
5
YES
2 5
5
4
3
2
1
NO
✓ 146✗ 186600лёгкаяВойти и решать
Дано натуральное число N - количество чисел, которые подаются на вход. Определите, образуют ли вводимые числа возрастающую последовательность.

Входные данные
В первой строке записано натуральное число N (N<105). В следующих N строках записаны числа, по одному в строке. Каждое число по модулю не превосходит 109.

Выходные данные
Выведите на экран YES, если числа образуют возрастающую последовательность, в противном случае выведите NO.
 
Примеры
Входные данные Выходные данные
1 5
1
2
3
4
5
YES
2 5
5
4
3
2
1
NO
✓ 190✗ 284500лёгкаяВойти и решать
Дано натуральное число N - количество чисел, которые подаются на вход. Определите сколько чисел больше предыдущего введенного числа.

Входные данные
В первой строке записано натуральное число N (N<105). В следующих N строках записаны числа, по одному в строке. Каждое число по модулю не превосходит 109.

Выходные данные
Выведите на экран ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 5
-1
-2
2
3
-3 
2
✓ 193✗ 346500лёгкаяВойти и решать
В некотором мире сейчас 31 декабря. В саду Деда Мороза растет N ёлок. Снежик Сугробович решил украсить ёлки гирляндой. Чтобы свет от гирлянды был виден как можно дальше, он закрепил гирлянду на верхушке трёх самых высоких ёлок. Определите суммарную высоту, на которую поднимется Снежик Сугробович, развешивая гирлянду.

Входные данные
В первой строке вводится число N - количество ёлок (4 < N <= 100), а затем N целых чисел - высота каждой ёлки.

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

Примеры
Входные данные Выходные данные
1 7
3
3
6
3
4
3
4
14
 
 
✓ 138✗ 259700средняяВойти и решать
В каком-то другом мире сегодня 31 декабря. У деда Коковани есть A мандаринок, а у Дарёны - B мандаринок. Дед Кокованя выполняет следующее действие K раз:
  • Если у деда Коковани есть одна или несколько мандаринок, он отдает Дарёне одну из его мандаринок и она её съедает.
  • В противном случае, если у Дарёны есть одна или несколько мандаринок, она отдает одну деду и он ее съедает.
  • Если у них обоих нет ни одной мандаринки, то никто ничего не съедает.
Сколько мандаринок останется у деда Коковани и Дарёны в конце игры?

Входные данные
Программа получает на вход три целых числа в одной строке через пробел: A, B и (0 <= A, B, K <= 1012).

Выходные данные
Выведите на экран 2 числа - количество мандаринок, которое останется у деда Коковани и Дарёны в конце игры. 
 
Примеры
Входные данные Выходные данные Пояснение
1 2 3 3 0 2 Дед Кокованя сделает следующее:
1) У него две мандаринки, поэтому он отдает одну Дарене и она съедает ее.
2) Теперь у него осталось одна мандаринка, и он опять отдаст ее Дарёна, которая ее съест.
3) Теперь у него не осталось мандаринок, но у Дарёны их три, поэтому дед Кокованя съедает одну из них.
Таким образом, в итоге у деда Коковани будет 0 мандаринок, а у Дарёны - 2.
2 500000000000 500000000000 1000000000000 0 0 Следите за переполнением!
В каком-то другом мире сегодня 30 декабря. В саду деда Коковани посажено N деревьев. Высота i-го дерева (1  <= i <= N) равна hi метров. Он решает выбрать из этих деревьев K деревьев и украсить их гирляндой. Чтобы декорации были красивее, высота украшенных деревьев должна быть как можно ближе друг к другу. Более конкретно, пусть высота самого высокого украшенного дерева будет hmax метров, а высота самого низкого декорированного дерева будет hmin метров. Чем меньше значение hmax-hmin, тем лучше. Определите минимально возможное значение hmax-hmin?

Входные данные
В первой строке записаны через пробел два числа N и K (2 <= N, K <= 105). В следующих N строках записаны целые числа hi (1 <= hi <= 109), по одному в строке.

Выходные данные
Выведите на экран ответ на задачу.
 
Примеры
Входные данные Выходные данные Пояснение
1 5 3
10
15
11
14
12
2 Если украсить первое, третье и пятое деревья, hmax=12, hmin=10, hmax-hmin=2
2 5 3
5
7
5
7
7
0  
В каком-то другом мире сегодня 29 декабря. Дарёна с дедом Кокованей решили купить N товаров в универмаге для веселого празднования Нового года. Обычная цена i-го товара (1 <= i <= N) - pi серебряных камушек, причем pi всегда чётное. У деда Коковани есть купон на скидку, и он может купить один товар по самой высокой цене за половину обычной цены. Оставшиеся N − 1 позиции стоят по своей обычной цене. Сколько раз необходимо ударить Серебряному копытцу, чтобы Дарёна с дедом могли расплатиться за товар? За один удар из под копытца вылетает один серебреный камушек. 

Входные данные
В первой строке задано целое число N (2 <= N <= 105). В следующих N строках расположены целые положительные четные числа pi (100 <= pi <= 106), каждое число в отдельной строке.

Выходные данные
Выведите на экран ответ на задачу.
 
Примеры
Входные данные Выходные данные
1
3
4980
7980
6980
15950
✓ 99✗ 86700средняяВойти и решать
В каком-то другом мире сегодня D-е декабря. Напишите программу, которая выводит на экран "Happy New Year!", если D = 31, "Before Happy New Year!", если D = 30, "Before before Happy New Year!", если D = 29 и "Before before before Happy New Year!", если D = 28.

Входные данные
На вход подается целое число D (28 <= D <= 31). 

Выходные данные
Выведите на экран ответ соответствующую строку.
 
Примеры
Входные данные Выходные данные
1 31 Happy New Year!
2 28 Before before before Happy New Year!
Рассмотрим строки, состоящие из первых k букв английского алфавита. Некоторые пары букв называются коммутирующими: если они стоят рядом в строке, их разрешается поменять местами.
Даны пары коммутирующих букв и две строки равной длины s и t. Требуется выяснить, можно ли получить t из s, выполнив произвольное количество операций: поменять местами две рядом стоящие коммутирующие буквы.

Входные данные
Первая строка содержит два целых числа k и n — количество используемых букв и количество пар коммутирующих букв (2 ≤ k ≤ 10, 0 ≤ n ≤ k(k − 1)/2).
Следующие n строк содержат по две буквы, не разделенные пробелом: пары коммутирующих букв. Гарантируется, что каждая пара приведена во вводе не более одного раза.
Следующие две строки содержат строки s и t, они имеют равную длину L (1 ≤ L ≤ 100 000) и состоят из первых k букв латинского алфавита.

Выходные данные
Выведите «YES», если строку t можно получить из строки s описанными операциями.
В противном случае выведите «NO».
 
Примеры
Входные данные Выходные данные
1 3 2
ab
bc
abbcabc
abcacbb
YES
2 3 2
ab
bc
abbcabc
aabbbcc
NO
Наибольшим общим делителем непустого набора натуральных чисел A называется максимальное натуральное число d, такое что оно является одновременно делителем всех чисел множества A.
Задан массив натуральных чисел [a1, a2, . . . , an] и число k. Требуется выбрать в нем подмассив из k подряд идущих элементов [al, al+1, . . . , al+k−1], чтобы их наибольший общий делитель был как можно больше, и вывести этот наибольший общий делитель.

Входные данные
Первая строка ввода содержит два целых числа n и k (2 ≤ n ≤ 500 000, 2 ≤ k ≤ n).
Вторая строка содержит n натуральных чисел a1, a2, . . . , an (1 ≤ ai ≤ 1018).

Выходные данные
Выведите одно натуральное число — максимальное возможное значение наибольшего общего делителя элементов подмассива длины k заданного массива.
Примеры
Входные данные Выходные данные
1 10 4
2 3 4 8 12 6 12 18 4 3
6
Перестановкой n элементов называется массив из различных натуральных n чисел, каждое из которых от 1 до n. Например, все перестановки 3 элементов: [1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1].
Элементы перестановки пронумерованы от 1 до n, например для перестановки a = [3, 1, 2] выполнено a[1] = 3, a[2] = 1, a[3] = 2. Элемент с номером i называется неподвижной точкой, если a[i] = i. Так, в перестановке [3, 1, 2] нет неподвижный точек, а в перестановке [1, 3, 2] элемент a[1] = 1 является неподвижной точкой.
Упорядочим все перестановки лексикографически — сначала по первому элементу, потом по второму, и так далее. В начале условия все перестановки трех элементов приведены в лексикографическом порядке. Оставим только те перестановки, которые не содержат неподвижных точек. Для n = 3 останутся перестановки [2, 3, 1] и [3, 1, 2].
По заданным n и t требуется вывести первые t в лексикографическом порядке перестановок n элементов без неподвижных точек. Перестановки следует выводить в лексикографическом порядке.

Входные данные
На ввод подаются два целых числа n и t (2 ≤ n ≤ 1000, 1 ≤ t ≤ 104, nt ≤ 105 ). Гарантируется, что существует хотя бы t перестановок n элементов без неподвижных точек.

Выходные данные
Выведите t строк, на i-й из них выведите n чисел: i-ю в лексикографическом порядке перестановку n элементов без неподвижных точек.
Примеры
Входные данные Выходные данные
1 3 1 2 3 1
У Пети есть n единичных квадратов. Он хочет одновременно сложить из них как можно больше различных квадратов. Для того, чтобы сложить квадрат со стороной k, требуется k2 единичных квадратов. Петя может не использовать все имеющиеся у него квадраты.
Определите, какое максимальное количество квадратов сможет сложить Петя.

Входные данные
На вход подаётся целое число n (1 ≤ n ≤ 1018). Обратите внимание, что для хранения такого числа требуется 64-битный тип данных (int64 в паскале, long long в C++).

Выходные данные
Выведите одно число — максимальное число различных квадратов, которое сможет сложить Петя.
 
Примеры
Входные данные Выходные данные
1 10 2
✓ 70✗ 240600лёгкаяВойти и решать
Комната характеризуется тремя целыми числами: длиной, шириной и высотой, заданными в миллиметрах. Комната считается хорошей, если выполнены следующие условия:
отношение меньшей из длины и ширины к высоте хотя бы 2, а также отношение большей из длины и ширины к меньшей не превосходит 2.
По заданным размерам комнаты определите, является ли она хорошей.

Входные данные
На вход подаётся три целых числа: w, l и h — длина, ширина и высота комнаты, каждое
на отдельной строке (1000 ≤ w, l, h ≤ 10 000).

Выходные данные
Если комната является хорошей, выведите «good», иначе выведите «bad».
 
Примеры
Входные данные Выходные данные
1 4000
6000
3000
bad
2 4600
8600
1600
good
Марья Ивановна с Марьей Михайловной привели школьников в кинотеатр. Чтобы не было никаких обид, Марья Ивановна построила всех школьников по алфавиту и рассадила их: сначала в первый ряд слева направо, затем во второй слева направо и т.д., заполнив весь зал из n рядов по m кресел. Тут пришла Марья Михайловна и сказала, что ребята сели неправильно – надо пересесть. Она предложила сначала заполнить все первые места от первого ряда к последнему, затем все вторые места и т. д.

Определите, сколько школьников после такой пересадки останется на своем месте.

Например, если n = 3 и m = 3, то в первом случае дети сядут так:

1    2    3
4    5    6
7    8    9
а во втором – так:
1    4    7
2    5    8
3    6    9
Таким образом, три школьника: 1, 5 и 9 останутся на своих местах.

Входные данные
Вводятся два целых числа n и m (1 ≤ n, m ≤ 109 ).

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

Входные данные
В первой строке входного файла записано число досок N (0 <= N <= 1000). Далее для каждой доски записаны координаты кочек - концов доски (-231 <= Xi,Yi <= 231). Затем записаны координаты начальной и конечной точек (точки различны и доски, их соединяющей нет). Все числа во входном файле целые.

Выходные данные
Вывести максимально количество коров, которых можно переправить
 
Примеры
Входные данные Выходные данные
1 8
0 0 1 0     
1 0 2 1    
1 0 2 -1
2 1 3 0     
2 -1 3 0  
1 0 4 0
3 0 4 0     
0 0 3 0    
0 0 
4 0
2
✓ 6✗ 30800средняяВойти и решать
Новый премьер-министр решил проехать по России от Москвы до Владивостока по железной дороге, а затем вернуться обратно. Он поручил своим помощникам разработать маршрут так, чтобы не пришлось два раза проезжать через один и тот же город. Однако помощники сообщили, что для Российских железных дорог это невозможно. Определите, в каких городах премьер-министр будет вынужден побывать дважды.

Входные данные
В первой строке входного файла находятся числа N - количество российских городов, соединенных железными дорогами в единую сеть и М - количество железнодорожных перегонов, соединяющих пары городов (1 <= N <= 20000, 1 <= M <= 200000). Города имеют номера от 1 до N. В каждой из следующих M строк находится пара натуральных чисел, описывающая между какими двумя городами проходит соответствующая железнодорожная ветка. В последней строке находятся два целых числа S и Е (1 <= S != E <= N) - номера Москвы и Владивостока по версии РЖД.

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

 
 
Примеры
Входные данные Выходные данные
1 3 2
1 2
2 3
3 1
1
2
В городе, построенном во времена средневековья, ширина улиц стала препятствовать движению транспорта, которое изначально было двусторонним по каждой из улиц. Для решения этой проблемы было предложено сделать движение по каждой из улиц односторонним. Мэр поручил эту задачу своему первому заму. После долгих размышлений тот доложил, что на некоторых улицах движение придется оставить двусторонним, в противном случае будет невозможно проехать из любого места в городе в любое другое. По данной схеме города требуется найти все такие улицы.

Входные данные
В первой строке входного файла находятся числа N - количество площадей в городе и М - количество улиц их соединяющих (1 <= N <= 20000, 1 <= M <= 200000). Площади имеют номера от 1 до N. В каждой из следующих M строк находится пара натуральных чисел, описывающая между какими двумя площадями проходит соответствующая улица (две площади соединяются не более чем одной улицей).

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

 
 
Примеры
Входные данные Выходные данные
1 10 16
2 6
3 7
6 5
5 9
5 4
1 2
9 8
6 4
2 10
3 8
7 9
1 4
2 4
10 5
1 6
6 10
1
4
Поделиться
Класснуть