/* id:lucien23 prog:beads lang:c++/#include <iostream> #include <fstream> #include <string> #include
<map> using namespace std;
int main () {Ifstream infile ("beads.in");
Ofstream outfile ("Beads.out"); if (!infile | |!outfile) {cout<< "file operation failure!"
<<endl;
return-1;
} int N;
String Nacklace;
infile>>n>>nacklace;
int maxnum=0;
int i=0,right,left;
Char Lpivot,rpivot;
while (i<n) {rpivot=nacklace[i];
right=i+1;
while (Right<2*n && right%n!=i) {if (rpivot== ' W ') rpivot=nacklace[right%n];
if (nacklace[right%n]!= ' W ' && nacklace[right%n]!=rpivot) break;
right++;
//must first determine if i-1 is valid if (right-i==n) {maxnum=n;
Break
} left=i-2+n;
lpivot=nacklace[(left+1)%N]; while (left>=0 &&!) (
Left>=i && left<right)) {if (lpivot== ' W ') lpivot=nacklace[left%n]; if (nacklace[left%n]!= ' W ' && nacklace[left%n]!=lpivot) break;
left--;
int num=right-left+n-1;
if (num>maxnum) {maxnum=num; } cout<< "i=" <<i<< "left=" <<left<< "right=" <<right<< "num=" <<num
<<endl;
I=right;
} outfile<<maxnum<<endl;
return 0; }