Codeforces Round 1029 Div.3 - H. Incessant Rain

Xem PDF



Tác giả:
Dạng bài
Điểm: 100 Thời gian: 3.0s Bộ nhớ: 192M Input: bàn phím Output: màn hình

Silver Wolf đưa cho bạn một mảng \(a\) có độ dài \(n\)\(q\) truy vấn. Trong mỗi truy vấn, cô ấy thay thế một phần tử trong \(a\). Sau mỗi truy vấn, cô ấy yêu cầu bạn xuất ra số nguyên lớn nhất \(k\) sao cho tồn tại một số nguyên \(x\) sao cho \(x\)\(k\)-majority của một dãy con bất kỳ* của \(a\).

Một số nguyên \(y\) được gọi là \(k\)-majority của dãy \(b\) nếu \(y\) xuất hiện ít nhất \(\left\lfloor \frac{|b| + 1}{2} \right\rfloor + k\) lần trong \(b\), trong đó \(|b|\) là độ dài của \(b\). Lưu ý rằng \(b\) không nhất thiết phải có \(k\)-majority.


  • Một dãy \(b\) là dãy con của dãy \(a\) nếu \(b\) có thể thu được từ \(a\) bằng cách xóa một số (có thể là không, có thể là tất cả) phần tử từ đầu và một số (có thể là không, có thể là tất cả) phần tử từ cuối.

Input

Dòng đầu tiên chứa một số nguyên \(t\) (\(1 \le t \le 10^4\)) — số lượng bộ test.

Dòng đầu tiên của mỗi test chứa hai số nguyên \(n\)\(q\) (\(1 \le n, q \le 3 \cdot 10^5\)) — độ dài của mảng \(a\) và số truy vấn.

Dòng tiếp theo chứa \(n\) số nguyên cách nhau bởi dấu cách \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le n\)).

\(q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(i\)\(x\), biểu thị truy vấn thay thế \(a_i\) bằng \(x\) (\(1 \le i, x \le n\)).

Đảm bảo rằng tổng tất cả các \(n\) và tổng tất cả các \(q\) qua mọi test không vượt quá \(3 \cdot 10^5\).

Output

Với mỗi test, xuất ra kết quả của tất cả các truy vấn trên một dòng, cách nhau bởi dấu cách.

Sample Input 1

2
5 5
1 2 3 4 5
3 4
1 4
2 4
4 3
2 3
7 8
3 2 3 3 2 2 3
2 3
5 3
6 3
3 4
4 4
7 4
6 4
2 4

Sample Output 2


1 1 2 1 0 
2 2 3 2 1 1 1 2 

Bình luận (1)

Gần nhất
Tải bình luận...