SUMMAX - Tổng giá trị lớn nhất

Xem dạng PDF

Gửi bài giải


Điểm: 3,00 (OI)
Giới hạn thời gian: 0.005s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Bạn được cho một xâu gồm ~N~ kí tự liền kề nhau. Mỗi kí tự có thể là kí tự a, b hoặc ?. Ta có thể thay thế những kí tự ? trong xâu ban đầu thành kí tự a hoặc kí tự b. Giả sử chúng ta đã thay thế hết các kí tự ?, thì với mỗi cặp hai kí tự liền kề trong xâu ban đầu.

Chúng ta định nghĩa giá trị của cặp đó như sau:

  • aa ~= 0~
  • ab ~= 1~
  • bb ~= 0~
  • ba ~= -1~

Tổng giá trị của một xâu, là tổng giá trị của tất cả ~N − 1~ cặp hai kí tự liền kề.

Yêu cầu: Bài toán đặt ra cho bạn là trong tất cả các cách thay thế những kí tự ? trong xâu ban đầu, bạn hãy in ra tổng giá trị lớn nhất có thể.

Input

  • Dòng đầu tiên chứa một số nguyên ~N (1 \le N \le 10^6).~
  • Dòng tiếp theo chứa một xâu gồm ~N~ kí tự, mỗi kí tự có thể là kí tự a, b hoặc ?.

Output

  • Tổng giá trị lớn nhất có thể đạt được.

Sample

Input #1
5
aabbb
Output #1
1
Input #2
6
a?a?bb
Output #2
1

Hint

  • Giải thích #1: ta có từng cặp xâu liên tiếp là aa, ab, bb, bb, tổng giá trị của xâu là ~0 + 1 + 0 + 0 = 1~.
  • Giải thích #2: ta có thể thay thế các kí tự ? thành xâu ababbb. Những cặp xâu liên tiếp là ab, ba, ab, bb, bb, tổng giá trị của xâu là ~1 + (-1) + 1 + 0 + 0 = 1~.

Loading...