D - ロボット
Editorial
Time Limit: 2 sec / Memory Limit: 256 MB
問題文
数直線の原点にロボットが置かれている。 はじめ、ロボットの幸福度は である。
このロボットに命令列が与えられる。 命令列は次の 文字のみからなり、先頭から末尾まで順に実行される。
M
: 正または負の好きな向きに、距離 だけ移動する。+
: 今の座標を とすると、幸福度が だけ変化する。-
: 今の座標を とすると、幸福度が だけ変化する。
命令列を実行し終えた後、 ロボットは原点に戻っていなければならない 。 命令列を実行している間、ロボットの座標および幸福度は負になり得る。
最終的な幸福度を最大化するようにロボットが移動したとき、最終的な幸福度を求めよ。
入力
入力は以下の形式で標準入力から与えられる。
- 行目には、命令列 () が与えられる。 は
M
,+
,-
のみからなり、M
が偶数個含まれる。
部分点
この問題には部分点が設定されている。
- を満たすデータセットに正解した場合は 点が得られる。
出力
最終的な幸福度を最大化するようにロボットが移動したとき、最終的な幸福度を 行に出力せよ。 出力の末尾には改行を入れること。
入力例1Copy
Copy
M+MM-M
出力例1Copy
Copy
2
以下では、正の向きへの移動を >
、負の向きへの移動を <
と表す。
>+<<->
のように移動すればよい。
入力例2Copy
Copy
MMM+M
出力例2Copy
Copy
1
例えば >><+<
のように移動すればよい。
入力例3Copy
Copy
MMM+--MMM
出力例3Copy
Copy
3
<<<+-->>>
のように移動すればよい。
入力例4Copy
Copy
+
出力例4Copy
Copy
0