trang chủ / đề bài / hcm_tst_22_e

Xếp gạch

Đề bài

Mô tả

An rất thích trò chơi xếp gạch. Với những chồng gạch đang xếp dở dang, An suy nghĩ cách điều chỉnh lại các chồng gạch sao cho nó đối xứng. Một dãy N chồng gạch được đánh số từ 1 đến N và chồng gạch thứ i có chiều cao là hi, được gọi là đối xứng nếu hi=hN−i+1 với 1≤i≤N.

Tại mỗi bước điều chỉnh, hai chồng gạch liền kề có thể được thay thế bằng một chồng gạch mới có chiều cao là tổng chiều cao của hai chồng gạch đó (chồng mới nằm đúng vị trí của hai chồng cũ). Có thể thấy rằng sau mỗi bước điều chỉnh số lượng chồng gạch giảm đi 1. Một dãy chỉ gồm một chồng gạch cũng là dãy đối xứng.

Yêu cầu: Hãy viết một chương trình cho biết số bước điều chỉnh tối thiểu cần thực hiện để có được một dãy chồng gạch đối xứng.

Dữ liệu vào

  • Dòng đầu là một số nguyên N cho biết số lượng chồng gạch ban đầu.
  • Dòng thứ hai chứa N số nguyên h1,h2,…,hN lần lượt là chiều cao các chồng gạch (1≤hi≤109).

Dữ liệu ra

In ra một số nguyên cho biết số bước điều chỉnh tối thiểu cần thực hiện để có được một dãy chồng gạch đối xứng.

Ràng buộc

  • 1≤N≤106.
  • 1≤hi≤109.

Subtasks

  • Subtask 1 (30% số điểm): 1≤N≤10.
  • Subtask 2 (30% số điểm): 11≤N≤1000.
  • Subtask 3 (40% số điểm): 1001≤N≤106.

Ví dụ

Input Output Giải thích
7
7 3 3 4 5 6 7
2 7 3 3 4 5 6 7→7 6 4 5 6 7→7 6 9 6 7.
6
2 1 1 3 1 3
1 Gộp hai chồng đầu: 3 1 3 1 3.
2
4 6
1 Gộp hai chồng thành một chồng cao 10, dãy một chồng là đối xứng.

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