CF1066E Binary Numbers AND Sum

题目描述

## 题目大意 现在,给你两个位数为 $n$ 和 $m$ 的两个二进制数$a$,$b$,现在,我们要进行如下操作: * 计算$a$&$b$ * 答案累加上一个操作的值 * $b$右移一位,最后一位直接舍弃 现在,请你算出最终的答案,并输出,答案对998244353取模

输入格式

第一行,两个整数$n$,$m$,$(1≤n,m≤2 \times 10^5)$ 第一行,一个长度为$n$的二进制数$a$ 第一行,一个长度为$m$的二进制数$b$

输出格式

一行,一个数,表示答案

说明/提示

The algorithm for the first example: 1. add to the answer $ 1010_2~ \&~ 1101_2 = 1000_2 = 8_{10} $ and set $ b := 110 $ ; 2. add to the answer $ 1010_2~ \&~ 110_2 = 10_2 = 2_{10} $ and set $ b := 11 $ ; 3. add to the answer $ 1010_2~ \&~ 11_2 = 10_2 = 2_{10} $ and set $ b := 1 $ ; 4. add to the answer $ 1010_2~ \&~ 1_2 = 0_2 = 0_{10} $ and set $ b := 0 $ . So the answer is $ 8 + 2 + 2 + 0 = 12 $ . The algorithm for the second example: 1. add to the answer $ 1001_2~ \&~ 10101_2 = 1_2 = 1_{10} $ and set $ b := 1010 $ ; 2. add to the answer $ 1001_2~ \&~ 1010_2 = 1000_2 = 8_{10} $ and set $ b := 101 $ ; 3. add to the answer $ 1001_2~ \&~ 101_2 = 1_2 = 1_{10} $ and set $ b := 10 $ ; 4. add to the answer $ 1001_2~ \&~ 10_2 = 0_2 = 0_{10} $ and set $ b := 1 $ ; 5. add to the answer $ 1001_2~ \&~ 1_2 = 1_2 = 1_{10} $ and set $ b := 0 $ . So the answer is $ 1 + 8 + 1 + 0 + 1 = 11 $ .