SRM369 に挑戦。残念ながら、コンテスト中にシステムが重くなったため、レーティングが付かない

今回、面白かったのは、250 点ですね。やりかたさえ発見すれば、プログラムを書かなくても、電卓だけで十分とける。

「文字「A」と「B」からなる文字列 S が、以下の条件をみたさなければいけないとき、その S の最大の長さはいくつになりますか?」という問題です。

条件、4 つの入力、countA, countB, maxA, maxB が与えられ、

  • countA: S 中に含まれる文字 A は、最大 countA 個まで
  • countB: S 中に含まれる文字 B は、最大 countB 個まで
  • maxA: S 中でこの maxA を越えて、文字 A が連続してはいけない。
  • maxB: S 中でこの maxB を越えて、文字 B が連続してはいけない。

ただし、countA, countB, maxA, maxB は、それぞれ、(0<= x <= 1,000,000)です。

countA=6, countB=4, maxA=3, maxB=2 なら、最大の長さ 10 は(例、AABBAABBAA) countA=100, countB=2, maxA=3, maxB=1 なら、最大の長さ 11(例、AAABAAABAAA)