trang chủ / đề bài / dhbb23_cvabd_11_a

Tổng hàm số

Đề bài

Mô tả

Với một dãy số p gồm k phần tử p1,p2,…,pk, ta định nghĩa hàm số f(p) như sau:

  • f(p)=0 nếu k=1;
  • Ngược lại (k>1), f(p) là giá trị lớn nhất của ⌈|pj−pi|j−i⌉ với mọi 1≤i<j≤k.

Với số thực x, ký hiệu ⌈x⌉ là số nguyên nhỏ nhất không nhỏ hơn x (tức x được làm tròn lên). Ví dụ: ⌈73⌉=⌈2.3333…⌉=3, ⌈74⌉=⌈1.75⌉=2, ⌈4⌉=4.

Cho một dãy số a gồm n phần tử a1,a2,…,an.

Yêu cầu: Hãy tính tổng giá trị của hàm số trên với tất cả các đoạn con khác rỗng a[l..r] của dãy a, nói cách khác, hãy tính:

S=∑l=1n∑r=lnf(a[l..r])

Dữ liệu vào

  • Dòng thứ nhất chứa một số nguyên dương n là độ dài dãy a.
  • Dòng thứ hai chứa n số nguyên dương a1,a2,…,an.

Dữ liệu ra

In ra một số nguyên duy nhất là tổng S tìm được.

Ràng buộc

  • 1≤n≤2×105
  • 1≤ai≤108 với mọi 1≤i≤n

Subtasks

  • Subtask 1 (20% số test): n≤80.
  • Subtask 2 (20% số test): n≤450.
  • Subtask 3 (30% số test): n≤5×103.
  • Subtask 4 (30% số test): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
3
4 5 2
7 f(a[1..1])=f(a[2..2])=f(a[3..3])=0; f(a[1..2])=⌈|5−4|2−1⌉=1; f(a[1..3])=⌈|2−5|3−2⌉=3; f(a[2..3])=⌈|2−5|3−2⌉=3. Vậy S=0+0+0+1+3+3=7.
7
2 6 8 1 5 10 3
129 Tổng giá trị của f trên cả 28 đoạn con khác rỗng của dãy.

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