trang chủ / đề bài / dhbb23_rdat

Dữ liệu

Đề bài

Mô tả

Dữ liệu tài chính của một công ty trong n ngày được biểu diễn bằng một dãy số t1,t2,…,tn, trong đó ti (1≤i≤n) là lượng tiền thu về của ngày thứ i. Lãnh đạo công ty thường xuyên yêu cầu thống kê số liệu về tổng tiền lớn nhất thu được của hai ngày liên tiếp trong các ngày từ ngày L đến ngày R (L<R), nghĩa là cần tìm giá trị lớn nhất trong các giá trị (ti+ti+1) với L≤i<R.

Một nhân viên đã truy cập trái phép dữ liệu của công ty và trước mỗi lần lãnh đạo công ty yêu cầu thống kê số liệu, nhân viên sẽ tìm cách đảo ngược một đoạn dữ liệu nào đó trong các ngày từ ngày L đến ngày R với mục đích khi thống kê dữ liệu trong đoạn từ ngày L đến ngày R thì giá trị trả về càng lớn càng tốt. Ví dụ, nếu đảo ngược đoạn từ ngày i đến ngày j (L≤i≤j≤R) trên dữ liệu ban đầu t1,t2,…,ti,ti+1,…,tj,…,tn thì dữ liệu thay đổi là t1,t2,…,tj,tj−1,…,ti,…,tn. Sau khi thống kê số liệu xong, người này sẽ lại thay đổi dữ liệu như ban đầu.

Yêu cầu: Cho biết dữ liệu ban đầu là t1,t2,…,tn và q lần yêu cầu thống kê dữ liệu, hãy cho biết số liệu thống kê trả về khi bị can thiệp vào dữ liệu.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên dương n,q;
  • Dòng thứ hai chứa n số nguyên không âm t1,t2,…,tn (ti≤109);
  • Dòng thứ k (1≤k≤q) trong q dòng sau, mỗi dòng chứa hai số nguyên mô tả yêu cầu thống kê dữ liệu L,R (1≤L<R≤n).

Dữ liệu ra

In ra q dòng, mỗi dòng chứa một số nguyên là giá trị mà lãnh đạo công ty nhận được khi yêu cầu thống kê dữ liệu tương ứng trong dữ liệu vào.

Ràng buộc

  • 2≤n≤105; 1≤q≤105;
  • 0≤ti≤109;
  • 1≤L<R≤n.

Subtasks

  • Subtask 1 (50% số điểm): n,q≤50;
  • Subtask 2 (25% số điểm): n,q≤5000;
  • Subtask 3 (25% số điểm): n,q≤105.

Ví dụ

Input Output Giải thích
5 2
5 2 3 1 3
1 5
4 5
8
4
Với yêu cầu thống kê thứ nhất, đảo ngược đoạn từ ngày 1 đến ngày 2 để có dữ liệu mới: 2 5 3 1 3, kết quả thống kê được là 5+3=8. Với yêu cầu thống kê thứ hai, đảo ngược đoạn từ ngày 4 đến ngày 5 để có dữ liệu mới: 5 2 3 3 1, kết quả thống kê được là 3+1=4.
5 3
4 1 4 2 7
1 4
2 5
2 3
8
11
5
Yêu cầu 1: đảo ngược đoạn từ ngày 2 đến ngày 3 được 4 4 1 2 7, hai ngày 1,2 cho 4+4=8. Yêu cầu 2: đảo ngược đoạn từ ngày 3 đến ngày 4 được 4 1 2 4 7, hai ngày 4,5 cho 4+7=11. Yêu cầu 3: chỉ có hai ngày 2,3, kết quả 1+4=5.

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.402 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.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0