307795: CF1418D. Trash Problem
Memory Limit:256 MB
Time Limit:3 S
Judge Style:Text Compare
Creator:
Submit:0
Solved:0
Description
Trash Problem
题意翻译
数轴上有 $n$ 个整点,你可以进行若干次操作,每次操作可以将一个点向左移动一个单位或向右移动一个单位,代价为 $1$,若两个点在某个时候在同一个位置,他们可以合并成同一个点。 定义 $f$ 为需要的最小的代价使得数轴上只剩下不超过 $2$ 个点。 接下来 $q$ 次询问,每次删除或者插入一个点,在第一次询问前,以及每一次询问后回答 $f$ 的值。题目描述
Vova decided to clean his room. The room can be represented as the coordinate axis $ OX $ . There are $ n $ piles of trash in the room, coordinate of the $ i $ -th pile is the integer $ p_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 $ x $ coordinates. To achieve this goal, Vova can do several (possibly, zero) moves. During one move, he can choose some $ x $ and move all piles from $ x $ to $ x+1 $ or $ x-1 $ using his broom. Note that he can't choose how many piles he will move. Also, there are two types of queries: - $ 0 $ $ x $ — remove a pile of trash from the coordinate $ x $ . It is guaranteed that there is a pile in the coordinate $ x $ at this moment. - $ 1 $ $ x $ — add a pile of trash to the coordinate $ x $ . It is guaranteed that there is no pile in the coordinate $ x $ 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 $ n $ and $ q $ ( $ 1 \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 $ n $ distinct integers $ p_1, p_2, \dots, p_n $ ( $ 1 \le p_i \le 10^9 $ ), where $ p_i $ is the coordinate of the $ i $ -th pile. The next $ q $ lines describe queries. The $ i $ -th query is described with two integers $ t_i $ and $ x_i $ ( $ 0 \le t_i \le 1; 1 \le x_i \le 10^9 $ ), where $ t_i $ is $ 0 $ if you need to remove a pile from the coordinate $ x_i $ and is $ 1 $ if you need to add a pile to the coordinate $ x_i $ . It is guaranteed that for $ t_i = 0 $ there is such pile in the current set of piles and for $ t_i = 1 $ there is no such pile in the current set of piles.
输出格式
Print $ q+1 $ integers: the minimum number of moves Vova needs to do a total cleanup before the first query and after each of $ q $ 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