CF1847D Professor Higashikata

Description

Josuke is tired of his peaceful life in Morioh. Following in his nephew Jotaro's footsteps, he decides to study hard and become a professor of computer science. While looking up competitive programming problems online, he comes across the following one: Let $ s $ be a binary string of length $ n $ . An operation on $ s $ is defined as choosing two distinct integers $ i $ and $ j $ ( $ 1 \leq i < j \leq n $ ), and swapping the characters $ s_i, s_j $ . Consider the $ m $ strings $ t_1, t_2, \ldots, t_m $ , where $ t_i $ is the substring $ ^\dagger $ of $ s $ from $ l_i $ to $ r_i $ . Define $ t(s) = t_1+t_2+\ldots+t_m $ as the concatenation of the strings $ t_i $ in that order. There are $ q $ updates to the string. In the $ i $ -th update $ s_{x_i} $ gets flipped. That is if $ s_{x_i}=1 $ , then $ s_{x_i} $ becomes $ 0 $ and vice versa. After each update, find the minimum number of operations one must perform on $ s $ to make $ t(s) $ lexicographically as large $ ^\ddagger $ as possible. Note that no operation is actually performed. We are only interested in the number of operations. Help Josuke in his dream by solving the problem for him. —————————————————————— $ \dagger $ A string $ a $ is a substring of a string $ b $ if $ a $ can be obtained from $ b $ by the deletion of several (possibly, zero or all) characters from the beginning and several (possibly, zero or all) characters from the end. $ \ddagger $ A string $ a $ is lexicographically larger than a string $ b $ of the same length if and only if the following holds: - in the first position where $ a $ and $ b $ differ, the string $ a $ has a $ 1 $ , and the string $ b $ has a $ 0 $ .

Input Format

The first line contains three integers $ n $ , $ m $ , $ q $ ( $ 1 \leq n,m,q \leq 2 \cdot 10^5 $ ). The next line contains a binary string $ s $ of length $ n $ , consisting only of digits $ 0 $ and $ 1 $ . The $ i $ -th line of the next $ m $ lines contains two integers $ l_i $ and $ r_i $ ( $ 1 \leq l_i \leq r_i \leq n $ ). The $ i $ -th line of the next $ q $ lines contains a single integer $ x_i $ ( $ 1 \leq x_i \leq n $ ).

Output Format

Print $ q $ integers. The $ i $ -th integer is the minimum number of operations that need to be performed on $ s $ to get the lexicographically largest possible string $ t(s) $ in the $ i $ -th round.

Explanation/Hint

In the first test case, Originally, $ t(s) = s(1,2) + s(1,2) = 0101 $ . After the $ 1 $ -st query, $ s $ becomes $ 11 $ and consequently $ t $ becomes $ 1111 $ . You don't need to perform any operation as $ t(s) $ is already the lexicographically largest string possible. After the $ 2 $ -nd query, $ s $ becomes $ 01 $ and consequently $ t $ becomes $ 0101 $ . You need to perform $ 1 $ operation by swapping $ s_1 $ and $ s_2 $ . Consequently, $ t(s) $ becomes $ 1010 $ which is the lexicographically largest string you can achieve.