Chán chường

Đề bài

Mô tả

Cho một dãy gồm n số nguyên a1,a2,,an. Bạn thực hiện các bước để ghi điểm.

Ở mỗi bước, bạn chọn một phần tử bất kỳ còn lại trong dãy, gọi giá trị của nó là x. Bạn xoá phần tử đó và được cộng x điểm. Đồng thời, tất cả các phần tử có giá trị bằng x1 hoặc x+1 cũng bị xoá khỏi dãy (không được điểm cho những phần tử này).

Bạn có thể thực hiện các bước cho đến khi dãy rỗng. Hãy tính tổng số điểm lớn nhất có thể đạt được.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n: số phần tử của dãy.
  • 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ố điểm lớn nhất có thể đạt được.

Ràng buộc

  • 1n105
  • 1ai105
  • Đáp án có thể lên tới khoảng 1010, cần dùng kiểu số nguyên 64-bit.

Ví dụ

Input Output Giải thích
2
1 2
2 Chọn phần tử giá trị 2, được 2 điểm, phần tử giá trị 1 bị xoá kèm. Không thể lấy cả hai.
3
1 2 3
4 Chọn giá trị 1 (xoá luôn 2) rồi chọn giá trị 3, tổng 1+3=4. Chọn giá trị 2 chỉ được 2 điểm.
9
1 2 1 3 2 2 2 2 3
10 Chọn một phần tử giá trị 2 sẽ xoá hết các giá trị 1 và 3. Còn lại năm giá trị 2, mỗi bước lấy một giá trị 2, tổng cộng 5×2=10 điể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