trang chủ / bài tập / pokearmy

Đội quân Pokémon

Đề bài

Mô tả

Cho dãy số nguyên đôi một phân biệt a1,a2,,an.

Với mọi dãy con (không nhất thiết liên tiếp, không rỗng) ab1,ab2,,abk với 1b1<b2<<bkn, ta định nghĩa độ mạnh của dãy con đó là tổng đan dấu:

ab1ab2+ab3ab4+

Bạn cần tìm độ mạnh lớn nhất có thể của một dãy con bất kỳ.

Sau đó có q truy vấn. Mỗi truy vấn cho hai chỉ số lr — hãy hoán đổi alar, rồi in lại độ mạnh lớn nhất.

Dữ liệu vào

Dòng đầu chứa số nguyên dương t — số bộ test.

Với mỗi bộ test:

  • Dòng đầu chứa hai số nq.
  • Dòng thứ hai chứa n số nguyên phân biệt a1,a2,,an (1ain).
  • q dòng tiếp theo, mỗi dòng chứa hai số liri (1lirin).

Dữ liệu ra

Với mỗi bộ test, in ra q+1 số nguyên: độ mạnh lớn nhất trước khi có thao tác hoán đổi, và sau mỗi thao tác hoán đổi.

Ràng buộc

  • 1t103
  • 1n3·105
  • 0q3·105
  • 1ain và các ai đôi một phân biệt trong mỗi bộ test.
  • Tổng n trên tất cả bộ test không vượt quá 3·105.
  • Tổng q trên tất cả bộ test không vượt quá 3·105.

Ví dụ

Input Output Giải thích
3
3 1
1 3 2
1 2
2 2
1 2
1 2
1 2
7 5
1 2 5 4 3 6 7
1 2
6 7
3 4
1 2
2 3
3
4
2
2
2
9
10
10
10
9
11
Bộ 1: dãy [1,3,2] cho độ mạnh 3; sau khi đổi a1a2 thì dãy là [3,1,2], chọn dãy con 3,1,2 cho 31+2=4. Bộ 3: ban đầu chọn 53+7=9; sau thao tác cuối, dãy là [1,4,2,5,3,7,6], chọn 42+53+7=11.
1
4 2
4 1 3 2
1 4
2 3
6
5
6
Ban đầu a=[4,1,3,2], chọn 41+3=6. Đổi a1,a4 ra [2,1,3,4], độ mạnh tốt nhất là 4 hoặc lấy chỉ phần tử 4 kết hợp với cực tiểu trước nó — đáp án là 5. Đổi tiếp a2,a3 ra [2,3,1,4], chọn 31+4=6.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0