atcoder#NOMURA2020B. Postdocs

Postdocs

题目描述

英大文字 P および D からなる文字列 S S について、S S が連続する部分文字列として含む D および PD の個数の和を S S の「博士・PD 指数」と呼びます。例えば S = S\ = PPDDP のとき、S S は連続する部分文字列として 2 2 個の D1 1 個の PD を含んでいるので、S S の博士・PD 指数は 3 3 です。

P, D, ? からなる文字列 T T があります。

T T に含まれる ? をそれぞれ P または D のいずれかで置き換えてできる文字列の中で、博士・PD 指数が最大のものを 1 1 つ求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

T T

输出格式

T T に含まれる ? をそれぞれ P または D で置き換えてできる文字列の中で、博士・PD 指数が最大のものを 1 1 つ出力せよ。 そのような文字列が複数ある場合、どれを出力しても構わない。

题目大意

给你一个字符串 TT,其中包含 ?DP 三种字符,你可以将 ? 替换成其他两种字符使得该串中子串 DPD 的个数之和最大,输出最优的字符串。

PD?D??P
PDPDPDP
P?P?
PDPD

提示

制約

  • 1  T  2 × 105 1\ \leq\ |T|\ \leq\ 2\ \times\ 10^5
  • T T P, D, ? からなる。

Sample Explanation 1

この文字列は連続する部分文字列として 3 3 個の D3 3 個の PD を含みます。 よってこの文字列の博士・PD 指数は 6 6 です。 T T に含まれる ? をそれぞれ P または D で置き換えてできる文字列の中で、これは最大の博士・PD 指数です。