trang chủ / bài tập / loadtest

Kiểm thử tải

Đề bài

Mô tả

Polycarp đang chuẩn bị kiểm thử tải (load testing) cho dịch vụ Fakebook mới. Anh đã thống nhất với bạn bè rằng tại các thời điểm cụ thể, họ sẽ gửi yêu cầu đến hệ thống. Quá trình kéo dài n phút và ở phút thứ i, các bạn của anh sẽ gửi ai yêu cầu.

Polycarp muốn tải hệ thống có dạng tăng nghiêm ngặt đến một thời điểm nào đó rồi giảm nghiêm ngặt ngay sau đó. Cả phần tăng và phần giảm đều có thể trống (tức biến mất). Hai phần tử cạnh nhau bằng nhau là không chấp nhận được.

Polycarp có thể thêm một số lượng yêu cầu bất kỳ vào bất kỳ phút nào (không thể giảm). Hãy tìm tổng số yêu cầu nhỏ nhất mà Polycarp cần thêm để dãy tải thỏa mãn yêu cầu trên.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — số phút kiểm thử.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

In ra một số nguyên duy nhất — tổng số yêu cầu nhỏ nhất cần thêm.

Ràng buộc

  • 1n100000
  • 1ai109

Ví dụ

Input Output Giải thích
5
1 4 3 2 5
6 Thêm 2 yêu cầu ở phút 3 và 4 yêu cầu ở phút 4 thu được dãy [1, 4, 5, 6, 5] — tăng đến phút 4 rồi giảm. Tổng cộng thêm 6 yêu cầu.
5
1 2 2 2 1
1 Chỉ cần thêm 1 yêu cầu ở phút 3, dãy thành [1, 2, 3, 2, 1].
7
10 20 40 50 70 90 30
0 Dãy đã thỏa mãn (tăng đến phút 6 rồi giảm).

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