Автор: | А. Кленин | |||
Входной файл: | input.txt | Ограничение времени: | 1 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб | |
Максимальный балл: | 50 |
В данной строке длиной N символов требуется найти подстроку длиной K символов, встречающуюся наибольшее число раз.
Например, в строке "ABC ABDC ABCC A" наиболее часто встречающаяся подстрока из двух символов — "AB", а наиболее часто встречающаяся подстрока из трёх символов — "C A".
В случае, если несколько подстрок встречаются с одинаковой частотой, следует вывести первую в лексикографическом порядке.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | И. Бураго | |||
Входной файл: | input.txt | Ограничение времени: | 2 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб | |
Максимальный балл: | 100 |
Не так давно администрация столицы Флатландии приняла решение о строительстве канатной дороги. Этот транспорт подходит городу как нельзя лучше: столица построена на N холмах, каждый из которых при взгляде сбоку имеет вид параболы с направленными вниз ветвями. То есть i-й холм можно однозначно определить такими тремя числами Ai, Bi, Ci, что точка плоскости с координатами (x, y) находится внутри холма тогда и только тогда, когда Ai x2 + Bi x + Ci ≥ y. Холмы могут пересекаться, но вершина холма никогда не находится внутри другого холма.
Канатная дорога представляет собой набор из K одинаковых столбов высоты H, через вершины которых последовательно (в порядке увеличения абсциссы) протянут канат. В целях повышения надежности пассажирских перевозок столбы должны устанавливаться только на вершинах холмов. На первом и N-м холмах обязательно должны быть установлены столбы. Отрезки каната не должны пересекаться или даже касаться холмов.
Покупка уникальных столбов с античными барельефами принесла казне столицы существенные убытки, поэтому администрация хочет установить столбы так, чтобы сэкономить хотя бы на канате. Требуется написать программу, которая вычислит минимальную необходимую длину каната.
В первой строке входного файла находятся числа N K H, где N — количество холмов, K — число столбов и H — высота каждого из них (вещественное число). В каждой из следующих N строк содержится тройка вещественных чисел Ai Bi Ci, определяющая вид i-го холма. Холмы заданы в порядке увеличения абсциссы вершин.
В единственную строку выходного файла выведите минимальную длину каната, необходимого для строительства, с точностью до трёх знаков после десятичной точки или −1, если построить канатную дорогу невозможно.
2 ≤ N ≤ 300, 2 ≤ K ≤ N, 1 ≤ H ≤ 106.
−106 ≤ Ai < 0, −106 ≤ Bi, Ci ≤ 106.
Все вещественные числа во входном файле заданы не более чем с 5 знаками после десятичной точки.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Кленин | |||
Входной файл: | input.txt | Ограничение времени: | 1 сек | |
Выходной файл: | output.txt | Ограничение памяти: | 64 Мб | |
Максимальный балл: | 50 |
Позиция в игре "крестики-нолики" определяется массивом размером 3 × 3 символа, в котором латинская буква "X" обозначает крестик, латинская буква "O" — нолик, а символ "." (ASCII 46) — свободную клетку.
По данной позиции следует определить, достижима ли она в процессе игры, и, если да, то чей сейчас ход или кто победил, если партия уже закончена (следует учесть, что партия начинается с хода "крестиков"). В зависимости от результата необходимо вывести (без кавычек):
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|