CF1491A.K-th Largest Value

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array aa consisting of nn integers. Initially all elements of aa are either 00 or 11 . You need to process qq queries of two kinds:

  • 1 x : Assign to axa_x the value 1ax1 - a_x .
  • 2 k : Print the kk -th largest value of the array.

As a reminder, kk -th largest value of the array bb is defined as following:

  • Sort the array in the non-increasing order, return kk -th element from it.

For example, the second largest element in array [0,1,0,1][0, 1, 0, 1] is 11 , as after sorting in non-increasing order it becomes [1,1,0,0][1, 1, 0, 0] , and the second element in this array is equal to 11 .

输入格式

The first line contains two integers nn and qq ( 1n,q1051 \le n, q \le 10^5 ) — the length of the given array and the number of queries.

The second line contains nn integers a1,a2,a3,,ana_1, a_2, a_3, \dots, a_n ( 0ai10 \le a_i \le 1 ) — elements of the initial array.

Each of the following qq lines contains two integers. The first integer is tt ( 1t21 \le t \le 2 ) — the type of query.

  • If t=1t = 1 the second integer is xx ( 1xn1 \le x \le n ) — the position of the modified number. You have to assign to axa_x the value 1ax1 - a_x .
  • If t=2t = 2 the second integer is kk ( 1kn1 \le k \le n ) — you need to print the kk -th largest value of the array.

It's guaranteed that there will be at least one query of the second type (satisfying t=2t = 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]a = [1, 1, 0, 1, 0] .

The first operation is printing the third largest value, which is 11 .

The second operation is assigning a2a_2 the value 00 , aa becomes [1,0,0,1,0][1, 0, 0, 1, 0] .

The third operation is printing the third largest value, it is 00 .

The fourth operation is printing the first largest value, it is 11 .

The last operation is printing the fifth largest value, it is 00 .

首页