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); } };