CF1491A.K-th Largest Value
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given an array a consisting of n integers. Initially all elements of a are either 0 or 1 . You need to process q queries of two kinds:
- 1 x : Assign to ax the value 1−ax .
- 2 k : Print the k -th largest value of the array.
As a reminder, k -th largest value of the array b is defined as following:
- Sort the array in the non-increasing order, return k -th element from it.
For example, the second largest element in array [0,1,0,1] is 1 , as after sorting in non-increasing order it becomes [1,1,0,0] , and the second element in this array is equal to 1 .
输入格式
The first line contains two integers n and q ( 1≤n,q≤105 ) — the length of the given array and the number of queries.
The second line contains n integers a1,a2,a3,…,an ( 0≤ai≤1 ) — elements of the initial array.
Each of the following q lines contains two integers. The first integer is t ( 1≤t≤2 ) — the type of query.
- If t=1 the second integer is x ( 1≤x≤n ) — the position of the modified number. You have to assign to ax the value 1−ax .
- If t=2 the second integer is k ( 1≤k≤n ) — you need to print the k -th largest value of the array.
It's guaranteed that there will be at least one query of the second type (satisfying t=2 ).
输出格式
For each query of the second type, print a single integer — the answer to the query.
输入输出样例
输入#1
5 5 1 1 0 1 0 2 3 1 2 2 3 2 1 2 5
输出#1
1 0 1 0
说明/提示
Initially a=[1,1,0,1,0] .
The first operation is printing the third largest value, which is 1 .
The second operation is assigning a2 the value 0 , a becomes [1,0,0,1,0] .
The third operation is printing the third largest value, it is 0 .
The fourth operation is printing the first largest value, it is 1 .
The last operation is printing the fifth largest value, it is 0 .