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

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

Купец случайно перемешал конфеты первого сорта (по 3 руб. за фунт) и конфеты второго сорта (по 2 руб. за фунт). По какой цене надо продавать эту смесь, чтобы выручить ту же сумму, если известно, что первоначально общая стоимость всех конфет первого сорта была равна общей стоимости всех конфет второго сорта?

   Решение

Задачи

Страница: 1 [Всего задач: 1]      



Задача 98693

 [Билетики]
Тема:   [ Циклы (прочее) ]
Сложность: 2
Классы: 8,9,10,11

Максимальное время работы на одном тесте: 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

Прислать комментарий     Решение

Страница: 1 [Всего задач: 1]      



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

Проект осуществляется при поддержке Департамента образования г.Москвы и ФЦП "Кадры" .