trang chủ / đề bài / dhbb23_hkdata

Thay đổi 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à dữ liệu cho ngày thứ i: nếu ti≥0 tức là ngày i công ty thu về ti đồng, ngược lại ti<0 tức là ngày i công ty phải chi |ti| đồng. Lãnh đạo công ty thường xuyên thống kê số liệu về tổng thu chi của một dãy ngày liên tiếp mà có biến động lớn nhất, mức đánh giá biến động từ ngày L đến ngày R được tính bằng |∑i=LRti|.

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

Yêu cầu: Cho biết dữ liệu ban đầu là t1,t2,…,tn và q giả định thay đổi số liệu, với mỗi giả định hãy cho biết giá trị |∑i=LRti| lớn nhất với 1≤L≤R≤n (tính trên dữ liệu đã bị thay đổi).

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 t1,t2,…,tn (|ti|≤109);
  • Dòng thứ k (1≤k≤q) trong q dòng sau, mỗi dòng chứa ba số nguyên u,v,c mô tả giả định thay đổi số liệu (1≤u≤v≤n; |c|≤109).

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 thống kê được tương ứng với giả định trong dữ liệu vào.

Ràng buộc

  • 1≤n,q≤105;
  • |ti|≤109;
  • 1≤u≤v≤n; |c|≤109.

Subtasks

  • Subtask 1 (15% số điểm): n,q≤20;
  • Subtask 2 (15% số điểm): n,q≤5000;
  • Subtask 3 (20% số điểm): n,q≤105 và cả q giả định có v−u≤20;
  • Subtask 4 (30% số điểm): n,q≤105 và số cặp (u,v) khác nhau trong q giả định không quá 20 cặp;
  • Subtask 5 (20% số điểm): n,q≤105.

Ví dụ

Input Output Giải thích
5 2
1 -1 2 1 1
2 2 -2
2 4 -2
4
4
Dữ liệu thay đổi theo giả định thứ nhất: 1 -3 2 1 1, kết quả thống kê được là 4 (đoạn từ 3 đến 5). Dữ liệu thay đổi theo giả định thứ hai: 1 -3 0 -1 1, kết quả thống kê được là 4 (đoạn từ 2 đến 4).
4 3
2 -5 3 -1
1 4 2
2 3 -4
4 4 0
7
11
5
Giả định 1: dữ liệu thành 4 -3 5 1, đoạn từ 1 đến 4 có tổng 7. Giả định 2 áp dụng lên dữ liệu ban đầu (không cộng dồn giả định 1): dữ liệu thành 2 -9 -1 -1, đoạn từ 2 đến 4 có tổng −11, giá trị tuyệt đối 11. Giả định 3 với c=0 giữ nguyên dữ liệu, đoạn từ 2 đến 2 có tổng −5, kết quả 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