ЗАДАЧИ
problems.ru
О проекте | Об авторах | Справочник
Каталог по темам | по источникам |
К задаче N

Проект МЦНМО
при поддержке
ЦПМ
Фильтр
Сложность с по   Класс с по  
Выбрана 1 задача
Версия для печати
Убрать все задачи

Максимальное время работы на одном тесте: 1 секунда

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

Информация, записанная на билете, кодируется K числами (0 или 1). При этом непосредственно на билете записывается последовательность из N чисел (N ³ K) так, что числа, записанные на расстоянии K, совпадают. Таким образом, для проверки подлинности билета достаточно проверить, что все числа на расстоянии K совпадают. К сожалению, при считывании информации с билета иногда могут происходить ошибки - считается, что одно из чисел может исказиться (то есть 0 заменится на 1, или 1 - на 0). Такой билет все равно нужно считать подлинным. Во всех остальных случаях билет считается поддельным.

Напишите программу, которая по информации, считанной с билета, устанавливает его подлинность, и указывает, при считывании какого из чисел могла произойти ошибка.

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

В первой строке входного файла d.in записаны числа N и K (1 £ N £ 50000, 1 £ K £ 1000, K £ N). Во второй строке записано N чисел, каждое из которых является 0 или 1 - информация, считанная с билета.

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

В первой строке выходного файла d.out должно быть записано одно из двух сообщений - OK или FAIL (первое сообщение обозначает, что билет признан подлинным, второе - поддельным). В случае, если билет подлинный, во второй строке выведите 0, если все числа были считаны правильно, или номер числа, в котором при считывании произошла ошибка. Если возможных ответов несколько, выведите любой из них (в частности, если для признания билета подлинным можно считать, что ошибок при считывании не было, а можно считать, что была ошибка в одном из чисел - правильным является любой из вариантов ответа).

Примеры

d.in

d.out

6 2

1 0 1 0 1 0

OK

0

6 2

1 1 1 0 1 0

OK

2

6 2

1 1 1 0 0 0

FAIL

   Решение

Задачи

Страница: << 3 4 5 6 7 8 9 >> [Всего задач: 204]      



Задача 110314

Темы:   [ Куб ]
[ Цилиндр ]
Сложность: 3
Классы: 10,11

Найдите площадь осевого сечения цилиндра, вписанного в единичный куб так, что ось цилиндра лежит на диагонали куба, а каждое основание касается трёх граней куба в их центрах.
Прислать комментарий     Решение


Задача 110321

Темы:   [ Куб ]
[ Объем тела равен сумме объемов его частей ]
Сложность: 3
Классы: 10,11

Внутри куба с ребром, равным 10, рассматриваются следующие множества точек: а) точки, удалённые на расстояние, не превышающее 1, ровно от трёх граней куба; б) точки, удалённые на расстояние, не превышающее 1, ровно от двух граней куба; в) точки, удаленные на расстояние, не превышающее 1, ровно от одной граней куба. Найдите объём тел, состоящих из этих точек.
Прислать комментарий     Решение


Задача 110397

Темы:   [ Куб ]
[ Объем тетраэдра и пирамиды ]
Сложность: 3
Классы: 10,11

На диагонали единичного куба взяты точки M и N , а на скрещивающейся с ней диагонали грани – точки P и Q . Известно, что MN = , а PQ = . Найдите объём тетраэдра MNPQ .
Прислать комментарий     Решение


Задача 110444

Темы:   [ Куб ]
[ Сфера, описанная около тетраэдра ]
Сложность: 3
Классы: 10,11

Дан единичный куб ABCDA1B1C1D1 . Найдите радиус сферы, проходящей через точки A , B , C1 и середину ребра B1C1 .
Прислать комментарий     Решение


Задача 110445

Темы:   [ Куб ]
[ Метод координат в пространстве ]
[ Расстояние от точки до плоскости ]
Сложность: 3
Классы: 10,11

Ребро куба EFGHE1F1G1H1 равно 2. На рёбрах EH и HH1 взяты точки A и B , причём =2 , = . Через точки A , B и G1 проведена плоскость. Найдите расстояние от точки E до этой плоскости.
Прислать комментарий     Решение


Страница: << 3 4 5 6 7 8 9 >> [Всего задач: 204]      



© 2004-... МЦНМО (о копирайте)
Пишите нам