CF1370E.Binary Subsequence Rotation
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
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=1110100 , he can choose a subsequence corresponding to indices ( 1 -based) {2,6,7} and rotate them clockwise. The resulting string would then be s=1010110 .
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 c1:=ck,c2:=c1,c3:=c2,…,ck:=ck−1 simultaneously.
Determine the minimum number of operations Naman has to perform to convert s into t or say that it is impossible.
输入格式
The first line contains a single integer n (1≤n≤106) — 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 .
输出格式
If it is impossible to convert s to t after any number of operations, print −1 .
Otherwise, print the minimum number of operations required.
输入输出样例
输入#1
6 010000 000001
输出#1
1
输入#2
10 1111100000 0000011111
输出#2
5
输入#3
8 10101010 01010101
输出#3
1
输入#4
10 1111100000 1111100001
输出#4
-1
说明/提示
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 .