Topcoder SRM 715 Div.1 Easy - MaximumRange

問題概要

初期値0の変数Xがある。+1と-1が並んだ命令列が与えられ、前から順番にその命令をXに適用するか無視するかを自由に選択できる。この過程において作れるXの最大値と最小値の差の最大値を求めよ。

解法

+と-の数を数えて大きい方を取る

感想

問題概要の方が長い

コード (C++)

#include <bits/stdc++.h>
using namespace std;

class MaximumRange {
    public:
    int findMax(string s) {
        int p = 0;
        int m = 0;
        for (int i = 0; i < s.size(); ++i) {
            if (s[i] == '+') p++;
            else m++;
        }
        return max(p, m);
    }
};