Truy vấn max

Đề bài

Mô tả

Hệ thống quản lý điểm số của trường LTV cần quản lý thông tin điểm số của n bạn học sinh được đánh số từ 1 đến n. Điểm số bắt đầu của tất cả các bạn là 0 và hệ thống sẽ cung cấp hai lệnh:

  • Lệnh cập nhật S(j,k): Đặt điểm số của học sinh thứ jk (1jn1; 1k1091).
  • Lệnh truy vấn Q(i,j): Cho biết điểm số cao nhất của các học sinh có thứ tự từ i đến j (1ijn).

Yêu cầu: Cho một dãy m lệnh thuộc một trong hai lệnh trên, hãy trả lời tất cả câu hỏi truy vấn.

Dữ liệu vào

  • Dòng 1 chứa hai số nguyên dương n,m (n,m100000).
  • m dòng tiếp theo, mỗi dòng chứa thông tin về một lệnh, đầu tiên là một ký tự thuộc tập {S,Q}.
    • Nếu ký tự đầu dòng là S, tiếp theo là hai số nguyên j,k cho biết đó là lệnh S(j,k).
    • Nếu ký tự đầu dòng là Q, tiếp theo là hai số nguyên i,j cho biết đó là lệnh Q(i,j).

Dữ liệu ra

  • Tương ứng với mỗi lệnh truy vấn Q trong input, ghi ra trên một dòng một số nguyên là câu trả lời cho truy vấn đó.

Ví dụ

Input Output Giải thích
5 6
S 2 1
S 4 5
Q 2 4
S 3 6
S 2 7
Q 1 4
5
7
Sau S(2,1)S(4,5): dãy điểm là [0,1,0,5,0]. Truy vấn Q(2,4): max của [1,0,5]=5. Sau S(3,6)S(2,7): dãy điểm là [0,7,6,5,0]. Truy vấn Q(1,4): max của [0,7,6,5]=7.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0