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

Quả cầu băng

Đề bài

Mô tả

Trong cửa hàng có n quả cầu băng xếp thành một hàng, đánh số từ 1 đến n từ trái sang phải. Mỗi quả cầu có một giá là số nguyên dương, và tất cả các giá đều khác nhau.

Một quả cầu được gọi là rẻ nếu giá của nó nhỏ hơn thực sự cả hai quả cầu liền kề: quả gần nhất bên trái và quả gần nhất bên phải. Quả cầu ngoài cùng bên trái và quả ngoài cùng bên phải không bao giờ được coi là rẻ (vì thiếu một phía hàng xóm).

Bạn được phép sắp xếp lại thứ tự các quả cầu trong hàng một cách tùy ý. Hãy tìm số lượng quả cầu rẻ lớn nhất có thể đạt được, và chỉ ra một cách sắp xếp đạt được số lượng đó.

Dữ liệu vào

  • Dòng đầu chứa một số nguyên n: số lượng quả cầu băng.
  • Dòng thứ hai chứa n số nguyên đôi một khác nhau a1,a2,,an: giá của các quả cầu.

Dữ liệu ra

  • Dòng đầu in ra số lượng quả cầu rẻ lớn nhất có thể.
  • Dòng thứ hai in ra n số nguyên là giá của các quả cầu theo thứ tự sắp xếp tối ưu. Nếu có nhiều cách sắp xếp cùng cho kết quả tốt nhất, in ra bất kỳ cách nào.

Ràng buộc

  • 1n105
  • 1ai109
  • Các giá trị ai đôi một khác nhau.

Ví dụ

Input Output Giải thích
5
1 2 3 4 5
2
3 1 4 2 5
Với cách xếp (3, 1, 4, 2, 5): quả giá 1 nhỏ hơn hai hàng xóm 3 và 4, quả giá 2 nhỏ hơn 4 và 5, nên có 2 quả rẻ. Không thể đạt 3 quả rẻ.
3
3 1 2
1
2 1 3
Với cách xếp (2, 1, 3): chỉ quả giá 1 là rẻ. Nhiều nhất là 1 quả rẻ.

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