A48697.午枫爱操作
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小午有一个长度为 n 的二进制数 s ,这个二进制数从左往右的第 i 位数为 si ,小枫可以对这个二进制数做任意次(可以不做)操作:
- 选择一段区间 [l,r] 满足 1≤l<r≤n,sl=0,sr=1 。
- 对于这段区间的每一位数 si(l≤i≤r) ,将其变为 si⊕1 ,其中 ⊕ 表示按位异或。
小午想通过小枫的操作让这个二进制数变得尽量大,请问这个数最大是多少,以二进制形式输出。
输入格式
第一行输入一个正整数 n ,表示二进制串的长度 (1≤n≤106) 。
第二行输入一个长度为 n 的二进制串 s ,保证 s 仅由 0 和 1 构成且不含前导 0 。
输出格式
输出一个二进制串,表示小午能得到的最大的二进制数是多少。
输入输出样例
输入#1
5 11101
输出#1
11110
说明/提示
样例解释:选择区间 [4,5] ,这个二进制数会变为 11110 ,已经是可以变成的最大的数。