Язык программирования

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

У Фёдора есть массив различных натуральных чисел. Известно, что чисел N. Фёдор хочет найти в массиве количество троек x, y и z (x < y < z), таких, что x2 + y2 = z2. Помогите ему в этом.

Формат входных данных

В первой строке находится число N (3 ≤ N ≤ 3000). На следующей строке находятся N натуральных чисел, каждое из которых не превышает 3000.

Решения, корректно работающие при N ≤ 100, получат не менее 50 баллов.

Формат выходных данных

В единственной строке нужно вывести одно число — ответ на задачу.

Ввод:

5
5 12 13 9 15

Вывод:
2

В интеллектуальном шоу «Твоя игра» принимают участие 3 человека. Им даются 5 тем, каждая из которых содержит по 5 вопросов стоимостью 100, 200, 300, 400 и 500 баллов. Если игрок правильно отвечает на вопрос, то к его текущей сумме прибавляется стоимость вопроса, если же он допускает ошибку, то от его суммы стоимость вопроса отнимается. При этом у игрока может оказаться отрицательная сумма баллов.

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

Формат входных данных

В первой строке находится три последовательности символов, разделённые пробелом — имена участников. Имя начинается с заглавной буквы, остальные буквы являются строчными. Имя участника содержит не более 10 и не менее 2 букв, все буквы латинские.

В следующих строках содержится информация о сыгранном вопросе. Сперва идёт имя участника, отвечавшего на вопрос, а через пробел — полученная им сумма баллов. Если количество баллов положительно, то ответ оказался правильным, если же отрицательно, то игрок ошибся. Гарантируется, что разыгранное количество вопросов каждой стоимости (100, 200, 300, 400 и 500) не превосходит 5. Также гарантируется, что во время игры будет разыгран хотя бы один вопрос.

В последней строке находится надпись «GAME OVER», означающая, что игра окончена и больше вопросов не будет.

Формат выходных данных

Для каждой строки ввода, описывающей разыгранный вопрос, нужно вывести 3 числа: баллы игроков после розыгрыша вопроса. Баллы должны соответствовать игрокам в порядке следования их имён в первой строке входных данных.

Ввод:

Artur Dmitry Fedor
Artur -500
Dmitry 400
Fedor 100
Artur 400
Fedor 200
Fedor 100
Artur 500
GAME OVER

Вывод:
-500 0 0
-500 400 0
-500 400 100
-100 400 100
-100 400 300
-100 400 400
400 400 400
Учительница математики очень не любит Колю и всегда заставляет его отвечать у доски самые
сложные задачи.
Вот и сегодня она написала на доске последовательность из n целых неотрицательных чисел
чисел a1, a2, . . . , an и вызвала Колю к доске. За одно действие учительница разрешает Коле
стереть любое число и на его место записать число на единицу больше. Учительница требует от
Коли за минимальное число действий добиться того, чтобы где-нибудь в этой последовательности
встречались подряд в возрастающем порядке числа от 1 до h.
Помогите Коле понять, за какое минимальное число действий ему удастся добиться того, что для
некоторого i будет выполнено ai = 1, ai+1 = 2, . . . , ai+h−1 = h, или выясните, что это невозможно и
учительница опять безнаказанно издевается над бедным Колей.

Формат входных данных
Первая строка входного файла содержит два натуральных числа: n и h (1 ≤ h ≤ n ≤ 200 000).
Вторая строка содержит n чисел ai — исходные значения элементов выписанной последовательности
(0 ≤ ai ≤ n).
Формат выходных данных
В единственной строке выходного файла выведите минимальное количество действий, за которое
Коля сможет выполнить задание, или −1 в случае, если выполнить его невозможно.

Примеры
Ввод
4 3
1 1 0 2
Вывод
3

Ввод
3 2
1 3 2
Вывод
-1

В первом примере Коле надо дважды увеличить на 1 третье число и один раз — четвертое. Тогда
последовательность примет вид 1, 1, 2, 3, для i = 2 выполнено искомое условие.
Во втором примере получить в последовательности подряд 1 и 2 невозможно.

Петя и Вася проводят олимпиаду по программированию. На нее пришло так много участников,
что для того, чтобы их всех зарегистрировать, Пете и Васе пришлось работать вдвоем.
Для того, чтобы зарегистрироваться, каждый участник называет свои имя, фамилию и отчество,
а Петя и Вася заносят эту информацию в общую электронную таблицу. Так как участников много,
а времени на организацию так мало, Петя и Вася не успели договориться о формате записи данных
участника в таблицу и им пришлось импровизировать. Петя решил писать для каждого участника
сначала его фамилию, затем имя, а затем — отчество, а Вася — сначала имя, затем отчество, а
затем — фамилию.
По окончании регистрации стало понятно, что для подведения итогов олимпиады использовать
данную таблицу невозможно: участнику будет неудобно себя искать. Было решено привести таблицу
к следующему виду:
• для всех участников сначала написана фамилия, затем имя, а затем — отчество;
• участники в таблице упорядочены лексикографически по фамилии.
Петя и Вася заметили, что фамилии у всех участников различны, а вот каждое имя встречается
хотя бы два раза. При этом никакое имя не является ни фамилией, ни отчеством никакого из
участников, аналогично никакие фамилия и отчество не совпадают.
Пользуясь этой информацией, помогите им привести таблицу к желаемому виду.
Формат входных данных
В первой строке задано число n (2 ≤ n ≤ 1000) — общее число записей в электронной таблице.
Далее, в n строках записано по три слова s1,i, s2,i, s3,i. Каждое из слов содержит от 1 до 20 латинских
букв, первая буква является заглавной, а все остальные — строчными. Каждая строка соответствует
одной из записей, сделанных Петей или Васей. Слова разделены одним пробелом.
Формат выходных данных
Выведите n строк — электронную таблицу, в которой для каждого участника идет сначала
фамилия, потом имя, потом отчество, причем все записи отсортированы лексикографически.
Лексикографический порядок соответствует порядку в словарях: слова сначала сравниваются
по первой букве, затем по второй и т.д. Если очередная буква в одном из слов идет раньше в
алфавите, то это слово лексикографически меньше другого. Если же расхождение так и не найдено,
то есть одно из слов является префиксом другого, то считается, что слово, являющееся префиксом,
лексикографически меньше.

Пример
Ввод
4
Ivanov Ivan Ivanovich
Ivan Borisovich Petrov
Sergey Ivanovich Sidorov
Pavlov Sergey Borisovich

Вывод
 
Ivanov Ivan Ivanovich
Pavlov Sergey Borisovich
Petrov Ivan Borisovich
Sidorov Sergey Ivanovich
Как известно, Саруман Белый - маг очень занятой и каждый день ему приходится работать с огромным количеством древних свитков. Чтобы не запутаться, он дал каждому свитку номер и положил их все на длинную полку. Но последнее время к нему постоянно наведывался Гендальф, чтобы узнать что-нибудь из свитков, что доставляет удовольствие Гендальфу и очень бесит Сарумана. И чтобы не отвечать на огромное количество вопросов Гендальфа где что лежит, он пообещал подарить свой посох тому, кто напишет программу отвечающую на вопросы Гендальфа.
 
Входные данные:
В первой строке задаётся число N(0<=N<=105). На следующих N строках идет описание типа свитка и его номер L (-109<=L<=109). Потом вводится число Q(0<=N<=105) – количество запросов. А затем на еще Q строках вводится тип свитка и его номер (-105<=L<=105).
Типы свитков:
LEG - легендарные
FEW - редкие
STAND – обычные
 
Выходные данные:
На каждый запрос вывести позицию свитка если он есть (Нумерация с 1) и “Fatality error” если такого не имеется. Каждый ответ на новой строке. Так же Гендальфу интересен номер самого большого свитка и самого маленького (Тип свитка на это не влияет). Это необходимо вывести после основных запросов на новой строке по образцу в примере.
 
Пример:
Входные данные:
5
LEG -345
LEG 1
FEW 2452
STAND 4
FEW 334
3
LEG -353
LEG -345
STAND 4
Выходные данные:
Fatality error
1
4
Max 2452 Min -345

Автор: Аксенов Владимир
 
 
Игра#21814
На уроке физкультуры первоклассники Петя и Вася играют в увлекательную игру. Перед ребятами в ряд стоит n столбиков разной высоты. У мальчиков есть m колец, которые они по очереди кидают на столбики, причем если на столбике уже есть кольцо, то кидать кольцо на этот столбик нельзя. Петя кидает первым.
Ребята выяснили, что Петя может закинуть кольцо на столбик только, если высота этого столбика не меньше l1 и не больше r1. На слишком высокий или слишком низкий столбик он закинуть кольцо не может. Зато, если столбик имеет подходящую высоту, бросок гарантированно заканчивается успехом. Аналогично, Вася может закинуть кольцо только на столбики с высотой не меньше l2 и не больше r2 и гарантированно закидывает кольцо на любой такой столбик.
Физрук Андрей Сергеевич обещал поставить пятерку тому из ребят, кто по итогам игры закинет больше колец на столбики. Помогите ребятам выяснить, кто из них выиграет при оптимальной игре.

Формат входных данных
В первой строке входного файла находятся два целых числа n и m — количество столбиков и колец, соответственно (1 ≤ m ≤ n ≤ 105). Следующие две строки содержат числа l1, r1 и l2, r2 — минимальную и максимальную высоту столбиков, на которые могут кидать колечки Петя и Вася, соответственно (1 ≤ l1 ≤ r1 ≤ 109, 1 ≤ l2 ≤ r2 ≤ 109). В последней строке содержится n чисел, описывающих высоту столбиков, высота каждого столбика является целым положительным числом и не превышает 109.
Формат выходных данных
В выходной файл выведите «Petya», если выиграет Петя, «Vasya», если выиграет Вася, или «Draw», если при оптимальной игре оба мальчика закинут на столбики равное число колец.

Дюна#21813
Географ Григорий Георгиевич исследует образование песчаных дюн. Он выбрал очень длинную дюну и разбил его на огромное число участков, которые пронумеровал от 1 до 109.
Теория Григория Георгиевича гласит, что изначально высота песка относительно некоторой условной отметки на всех участках была равна нулю. После этого произошло n сильных порывов ветра, которые могли изменить ландшафт.
Порыв ветра номер i имел силу xi и действовал на участки с li-го по ri-й. В результате этого порыва высота участка номер li увеличилась на xi, высота участка номер li + 1 уменьшилась на xi, следующего — снова увеличилась на xi, и так далее до участка номер ri, включительно.
Зная всю информацию о всех n порывах ветра, Григорий Георгиевич хочет узнать установившуюся в итоге высоту некоторых интересующих его m участков. Помогите ему.

Формат входных данных
В первой строке входного файла содержатся два натуральных числа n и m (1 ≤ n,m ≤ 1000) — количество порывов ветра и количество участков, итоговая высота которых интересует Григория Георгиевича.
В каждой из следующих n строк содержится описание очередного порыва ветра — три целых числа li, ri, xi (1 ≤ li ≤ ri ≤ 109; 1 ≤ xi ≤ 1000).
В каждой из следующих m строк содержится целое число qi (1 ≤ qi ≤ 109) — номер участка, для которого требуется узнать его итоговую высоту. Номера участков приведены в возрастающем
порядке.
 
Формат выходных данных
Для каждого из m запросов выведите одно целое число — высоту соответствующего участка.

Пример
Ввод:
2 6
1 6 7
3 7 2
1
2
3
6
7
8
Вывод
7
-7
9
-9
2
0

Кроме школы и математического кружка, Вася ходит на шахматный кружок. Но играть в шахматы на обычной доске 8 × 8 ему кажется не очень интересным. Недавно он придумал свою версию шахмат, в которой игра происходит на доске, имеющей другую форму. Васина доска состоит из n столбцов, i-й из которых содержит ai клеток. Нижние клетки всех столбцов образуют один  горизонтальный ряд, причем длины столбцов упорядочены слева направо по невозрастанию. На рисунке ниже приведен пример доски, в которой три столбца, содержащих 5, 2 и 1 клетку,  соответственно.

Сегодня на шахматном кружке занятие было посвящено ладейным окончаниям, и Васю заинтересовал вопрос: как расставить минимальное число ладей на его доске так, чтобы каждую клетку поля била хотя бы одна ладья. Ладья бьет те клетки, которые расположены с ней на одной вертикали или одной горизонтали. Помогите Васе расставить на его доске минимальное число ладей требуемым образом.

Формат входных данных
В первой строке входного файла задано целое число n — количество столбцов доски
(1 ≤ n ≤ 1000). Следущая строка содержит n чисел a1, a2, . . . , an — количество клеток в столбцах
(1 ≤ ai ≤ 1000, a1 ≥ a2 ≥ . . . ≥ an).

Формат выходных данных
В первой строке выведите число k — минимальное число ладей, которое можно расставить на доске так, чтобы каждую клетку доски била хотя бы одна ладья. Следующие k строк должны содержать описание позиций ладей, по одной на каждой строке. Позиция ладьи задается двумя числами: номером столбца, в котором стоит ладья, и номером клетки в столбце. Столбцы нумеруются, начиная с 1, слева направо, клетки в столбцах нумеруются снизу вверх, также начиная с 1.
Если подходящих расстановок несколько, можно вывести любую.

Примеры
Ввод
3
5 2 1

Вывод
2
1 5
2 1

21795#21795
Какое программное обеспечение обладает большим функционалом?

1. текстовый процессор
2. текстовый редактор
3. блокнот
4. у всех одинаковый функционал
21793#21793
К функциям текстового редактора относятся:

1. создание, редактирование и печать документа
2. создание и редактирование документа
3. все операции по набору и редактированию текстовой информации
4. набор текста и его вывод на печать
21761#21761
Можно ли открыть файл собственного формата в бесплатной программе?

1. да
2. нет
3. не всегда
4. в случае, если программа поддерживает этот формат
21742#21742
Телефонный разговор является процессом

1. сбора информации
2. обработки информации
3. хранения информации
4. передачи информации
21741#21741
Работа на поисковом сервере является процессом

1. сбора информации
2. обработки информации
3. хранения информации
4. передачи информации
21740#21740
Чтение книги является процессом

1. сбора информации
2. обработки информации
3. хранения информации
4. передачи информации
21632#21632
Что из перечисленного относится к формальным языкам?

1. дорожный знак
2. звук флейты
3. ничего из перечисленного
4. все перечисленное
21631#21631
Что из перечисленного относится к естественным языкам?

1. дорожная карта
2. звук флейты
3. рычание тигра
4. все выше перечисленное
Поделиться
Класснуть