Xoá xâu tối đa điểm

Đề bài

Mô tả

Cho một xâu s có độ dài n chỉ gồm các ký tự 01.

Bạn thực hiện thao tác sau cho tới khi xâu trở thành rỗng: chọn một dãy con liên tiếp gồm các ký tự giống nhau, xoá nó khỏi xâu rồi nối hai phần còn lại (một trong hai phần có thể rỗng) lại với nhau theo đúng thứ tự. Ví dụ, nếu xoá xâu con 111 khỏi 111110, bạn được xâu 110. Khi xoá một xâu con có độ dài l, bạn nhận được a·l+b điểm.

Hãy tính số điểm lớn nhất có thể đạt được sau khi xoá toàn bộ xâu.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t (1t2000) — số test.
  • Mỗi test gồm hai dòng:
    • Dòng đầu chứa ba số nguyên n, a, b (1n100; 100a,b100).
    • Dòng thứ hai chứa xâu s độ dài n chỉ gồm các ký tự 01.

Dữ liệu ra

Với mỗi test, in ra một dòng chứa một số nguyên — số điểm lớn nhất có thể đạt được.

Ví dụ

Input Output Giải thích
3
3 2 0
000
5 -2 5
11001
6 1 -4
100111
6
15
-2
Test 1: xoá toàn bộ xâu trong một thao tác, được 2·3+0=6 điểm.
Test 2: xoá từng ký tự một, mỗi lần được (2)·1+5=3 điểm, tổng 15.
Test 3: xoá 00 trong 100111 được 1·2+(4)=2 điểm, xâu còn lại 1111 xoá hết được 1·4+(4)=0 điểm. Tổng 2 điểm.
1
1 -100 -100
0
-200 Xoá ký tự duy nhất: 100·1+(100)=200.

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