ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2217. Двоичная сортировка

Ограничение времени: 1.0 секунды
Ограничение памяти: 256 МБ
Недавно Тимофей начал изучать алгоритмы и сейчас проходит сортировку. Чтобы закрепить материал, Тимофей решил поупражняться на строке S длины N, состоящей из нулей и единиц. Отсортировать строку целиком было бы слишком просто, поэтому Тимофей решил сортировать подстроки S, то есть он умеет делать следующую операцию:
  • выбрать два индекса l и r (1 ≤ lrN) и отсортировать подстроку Sl Sl+1Sr в порядке неубывания.
Чтобы хорошо потренироваться, Тимофей поставил себе цель. Он хочет, применив сортировку подстроки неограниченное количество раз (возможно, ноль), получить из строки S палиндром. Скажите, может ли Тимофей добиться своей цели?
Палиндромом называется строка, которая читается одинаково как слева направо, так и справа налево.

Исходные данные

Первая строка содержит единственное целое число N — длину строки S (1 ≤ N ≤ 105).
Вторая строка содержит строку S, состоящую только из символов 0 и 1.

Результат

Выведите «YES», если существует последовательность операций, превращающих строку S в палиндром, и «NO» в противном случае.

Примеры

исходные данныерезультат
12
010110110100
YES
1
1
YES
2
10
NO

Замечания

В первом примере можно получить строку 010011110010:
  • сначала отсортировать l = 4, r = 6, получая 010011110100.
  • затем l = 10, r = 11, получая 010011110010.
Автор задачи: Тимофей Имаев
Источник задачи: Квалификационный тур Уральского регионального чемпионата ICPC 2025