C11BEAU - Tên đẹp

Tags: greedy, math

Problem

https://vn.spoj.com/problems/C11BEAU

https://oj.vnoi.info/problem/C11BEAU

Người dân ở đất nước B11 (láng giềng của đất nước C11) có một phong tục rất đặc biệt. Chuyện là họ rất thích hai chữ cái ‘A’ và ‘B’, cho nên bất kì ai đều được đặt tên chỉ gồm ‘A’ và ‘B’. Theo họ, một tên đẹp phải bao gồm tất cả các yếu tố sau:

  • Tên phải không chứa quá countA chữ cái ‘A’
  • Tên phải không chứa quá countB chữ cái ‘B’
  • Mỗi xâu con gồm các chữ cái ‘A’ liên tiếp có độ dài không quá maxA
  • Mỗi xâu con gồm các chữ cái ‘B’ liên tiếp có độ dài không quá maxB

Vào ngày Quốc khánh sắp tới, nhà vua đất nước B11 muốn tìm một tên đẹp dài nhất để đặt cho hoàng tử mới ra đời. Bạn hãy giúp nhà vua tính xem độ dài tên hoàng tử là bao nhiêu.

Ví dụ với countA = 3, countB = 5, maxA = maxB = 1, ta có tên đẹp dài nhất sẽ là ‘BABABAB’. Như vậy kết quả cần tìm là 7.

Dữ liệu

  • Dòng 1: Số nguyên T là số test của chương trình.
  • Mỗi dòng trong T dòng tiếp theo: 4 số nguyên countA, countB, maxA, maxB.

Output

Gồm T dòng, mỗi dòng là kết quả tìm được tương ứng với mỗi test.

Ví dụ

Input
4  
0 0 10 10  
10 10 0 0  
3 5 1 1  
6 7 8 9 
Output
0  
0  
7  
13 

Ràng buộc

  • 1 ≤ T ≤ 100
  • 0 ≤ countA, countB, maxA, maxB ≤ 10^6
  • Trong 50% số test, 0 ≤ countA, countB, maxA, maxB ≤ 100

Tutorial


Submission

C11BEAU.cpp