Codeforces Round 651 (Div. 2)
E
Binary Subsequence Rotation
Codeforces
2100
原题
← DF1 →
翻译中…

Naman has two binary strings $s$ and $t$ of length $n$ (a binary string is a string which only consists of the characters "0" and "1"). He wants to convert $s$ into $t$ using the following operation as few times as possible.

翻译中…

In one operation, he can choose any subsequence of $s$ and rotate it clockwise once.

翻译中…

For example, if $s = 1\textbf{1}101\textbf{00}$, he can choose a subsequence corresponding to indices ($1$-based) $\{2, 6, 7 \}$ and rotate them clockwise. The resulting string would then be $s = 1\textbf{0}101\textbf{10}$.

翻译中…

A string $a$ is said to be a subsequence of string $b$ if $a$ can be obtained from $b$ by deleting some characters without changing the ordering of the remaining characters.

翻译中…

To perform a clockwise rotation on a sequence $c$ of size $k$ is to perform an operation which sets $c_1:=c_k, c_2:=c_1, c_3:=c_2, \ldots, c_k:=c_{k-1}$ simultaneously.

翻译中…

Determine the minimum number of operations Naman has to perform to convert $s$ into $t$ or say that it is impossible.

翻译中…

Input

翻译中…

The first line contains a single integer $n$ $(1 \le n \le 10^6)$ — the length of the strings.

翻译中…

The second line contains the binary string $s$ of length $n$.

翻译中…

The third line contains the binary string $t$ of length $n$.

翻译中…

Output

翻译中…

If it is impossible to convert $s$ to $t$ after any number of operations, print $-1$.

翻译中…

Otherwise, print the minimum number of operations required.

翻译中…

Note

翻译中…

In the first test, Naman can choose the subsequence corresponding to indices $\{2, 6\}$ and rotate it once to convert $s$ into $t$.

翻译中…

In the second test, he can rotate the subsequence corresponding to all indices $5$ times. It can be proved, that it is the minimum required number of operations.

翻译中…

In the last test, it is impossible to convert $s$ into $t$.

翻译中…

样例

Input #1
6
010000
000001
Output #1
1
InputCopy OutputCopy
Input #2
10
1111100000
0000011111
Output #2
5
InputCopy OutputCopy
Input #3
8
10101010
01010101
Output #3
1
InputCopy OutputCopy
Input #4
10
1111100000
1111100001
Output #4
-1
InputCopy OutputCopy
题目信息
题号
1370E
时间限制
2 s
内存限制
256 MB
标签
二分
构造
数据结构
贪心

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。