ABC052B Increment Decrement
Virtual Contestやったので書く
方針
問題にもある通り、sのi番目がIかDかを見て、xの値を変えていく
この際、最大値を保持する変数を1個用意してそこに最大値を保持する
(以下のコードの場合、ans)
xの値とansの値を比較してxのほうが大きい場合はansにxを代入することで最大値をとることができる
コード
#include <iostream> #include <string> using namespace std; int main(){ int n,x=0; string s; int ans=0;//最大値を保持する変数 cin>>n>>s; for(int i=0;i<n;i++){ if(s[i]=='I')x++; else if(s[i]=='D')x--; if(x>ans){//xの値が現在の最大値より大きいとき、最大値を更新する ans=x; } } cout<<ans<<endl; return 0; }