公式

A - 連続勝利の記録 / Record of Consecutive Wins 解説 by physics0523


初心者の方へ


以下の手順で答えを求めることができます。

  • 現在の W の連続数 \(w=0\) 、暫定解 \(res=0\) と初期化する。
  • \(S\) の各文字について順に以下を繰り返す。
    • もし W なら \(w\) に \(1\) 加算する。そうでないなら \(w=0\) とする。
    • \(res\) を \(\max(res,w)\) に更新する。

一連の流れは for 文と if 文の組み合わせなどで実現でき、時間計算量は \(O(N)\) です。

実装例 (C++):

#include<bits/stdc++.h>

using namespace std;

int main(){
  int N;
  cin >> N;
  string S;
  cin >> S;
  int w=0,res=0;
  for(auto &nx : S){
    if(nx=='W'){w++;}
    else{w=0;}
    res=max(res,w);
  }
  cout << res << "\n";
  return 0;
}