CF1418D.Trash Problem

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

Vova decided to clean his room. The room can be represented as the coordinate axis OXOX . There are nn piles of trash in the room, coordinate of the ii -th pile is the integer pip_i . All piles have different coordinates.

Let's define a total cleanup as the following process. The goal of this process is to collect all the piles in no more than two different xx coordinates. To achieve this goal, Vova can do several (possibly, zero) moves. During one move, he can choose some xx and move all piles from xx to x+1x+1 or x1x-1 using his broom. Note that he can't choose how many piles he will move.

Also, there are two types of queries:

  • 00 xx — remove a pile of trash from the coordinate xx . It is guaranteed that there is a pile in the coordinate xx at this moment.
  • 11 xx — add a pile of trash to the coordinate xx . It is guaranteed that there is no pile in the coordinate xx at this moment.

Note that it is possible that there are zero piles of trash in the room at some moment.

Vova wants to know the minimum number of moves he can spend if he wants to do a total cleanup before any queries. He also wants to know this number of moves after applying each query. Queries are applied in the given order. Note that the total cleanup doesn't actually happen and doesn't change the state of piles. It is only used to calculate the number of moves.

For better understanding, please read the Notes section below to see an explanation for the first example.

输入格式

The first line of the input contains two integers nn and qq ( 1n,q1051 \le n, q \le 10^5 ) — the number of piles in the room before all queries and the number of queries, respectively.

The second line of the input contains nn distinct integers p1,p2,,pnp_1, p_2, \dots, p_n ( 1pi1091 \le p_i \le 10^9 ), where pip_i is the coordinate of the ii -th pile.

The next qq lines describe queries. The ii -th query is described with two integers tit_i and xix_i ( 0ti1;1xi1090 \le t_i \le 1; 1 \le x_i \le 10^9 ), where tit_i is 00 if you need to remove a pile from the coordinate xix_i and is 11 if you need to add a pile to the coordinate xix_i . It is guaranteed that for ti=0t_i = 0 there is such pile in the current set of piles and for ti=1t_i = 1 there is no such pile in the current set of piles.

输出格式

Print q+1q+1 integers: the minimum number of moves Vova needs to do a total cleanup before the first query and after each of qq queries.

输入输出样例

  • 输入#1

    5 6
    1 2 6 8 10
    1 4
    1 9
    0 6
    0 10
    1 100
    1 50

    输出#1

    5
    7
    7
    5
    4
    8
    49
  • 输入#2

    5 8
    5 1 2 4 3
    0 1
    0 2
    0 3
    0 4
    0 5
    1 1000000000
    1 1
    1 500000000

    输出#2

    3
    2
    1
    0
    0
    0
    0
    0
    499999999

说明/提示

Consider the first example.

Initially, the set of piles is [1,2,6,8,10][1, 2, 6, 8, 10] . The answer before the first query is 55 because you can move all piles from 11 to 22 with one move, all piles from 1010 to 88 with 22 moves and all piles from 66 to 88 with 22 moves.

After the first query, the set becomes [1,2,4,6,8,10][1, 2, 4, 6, 8, 10] . Then the answer is 77 because you can move all piles from 66 to 44 with 22 moves, all piles from 44 to 22 with 22 moves, all piles from 22 to 11 with 11 move and all piles from 1010 to 88 with 22 moves.

After the second query, the set of piles becomes [1,2,4,6,8,9,10][1, 2, 4, 6, 8, 9, 10] and the answer is the same (and the previous sequence of moves can be applied to the current set of piles).

After the third query, the set of piles becomes [1,2,4,8,9,10][1, 2, 4, 8, 9, 10] and the answer is 55 because you can move all piles from 11 to 22 with 11 move, all piles from 22 to 44 with 22 moves, all piles from 1010 to 99 with 11 move and all piles from 99 to 88 with 11 move.

After the fourth query, the set becomes [1,2,4,8,9][1, 2, 4, 8, 9] and the answer is almost the same (the previous sequence of moves can be applied without moving piles from 1010 ).

After the fifth query, the set becomes [1,2,4,8,9,100][1, 2, 4, 8, 9, 100] . You can move all piles from 11 and further to 99 and keep 100100 at its place. So the answer is 88 .

After the sixth query, the set becomes [1,2,4,8,9,50,100][1, 2, 4, 8, 9, 50, 100] . The answer is 4949 and can be obtained with almost the same sequence of moves as after the previous query. The only difference is that you need to move all piles from 5050 to 99 too.

首页