За стол!
(Время: 2 сек. Память: 16 Мб Сложность: 55%)
В известном во всём городе Центре Приличия и Самоконтроля каждую субботу проходят мастер-классы, на которых посетители тренируются быть скромными, учатся держать себя в руках и не говорить первое, что приходит в голову, контролируя свои эмоции.
Как это обычно бывает, после занятий все пришедшие садятся за круглый стол, который подготовила хранительница центра. Садится каждый, иначе это покажется неприличным. По краю стола расположены N разнообразных блюд, каждое блюдо имеет свою калорийность Ci. Когда гость садится за стол, ему достаются какие-то расположенные подряд блюда. Гости должны сесть так, чтобы не обидеть друг друга, то есть сумма калорийностей выбранных блюд должна у всех совпадать. И при этом не обидеть хранительницу, съев все блюда на столе.
К сожалению, это не всегда возможно, и если гости не смогут рассадиться по заданным критериям, они могут потерять контроль над собой и забудут про все правила приличия! Известно, что сегодня придёт от 1 до N человек. Хранительница попросила Вас написать программу, которая сообщит: для каких количеств такая рассадка будет возможна, а для каких нет.
Входные данные
В первой строке входного файла INPUT.TXT содержится натуральное число N – количество блюд на столе (1 ≤ N ≤ 105).
Во второй строке перечислены калорийности блюд Ci в порядке обхода стола по часовой стрелке.
Калорийность – неотрицательное целое число, сумма всех калорийностей не превосходит 109.
Выходные данные
В выходной файл OUTPUT.TXT выведите строку из N символов: K-ый символ (1 ≤ K ≤ N) должен быть равен «1», если возможно рассадить K гостей за столом и «0» – иначе.
Примеры
№ | INPUT.TXT | OUTPUT.TXT |
1 | 4 3 2 2 1 | 1100 |
2 | 6 1 1 1 1 1 1 | 111001 |
3 | 5 1 0 0 1 1 | 10100 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|