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.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