This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "Anna.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
char diff(char a,char b){
   if(a!='R' and b!='R')
      return 'R';
   if(a!='G' and b!='G')
      return 'G';
   if(a!='B' and b!='B')
      return 'B';
}
vector<int> convert(int x){
   vector<int> r;
   for(int i=18;i>=0;i--)
      if(x&(1<<i))
         r.push_back(1);
      else
         r.push_back(0);
   return r;
}
pair<string, int> anna(int n, string s) {
   string T;
   int N=n;
   string S=s;
   for(int i=0;i<N;i++)
      if(S[i]=='R')
         T.push_back('G');
      else
         T.push_back('R');
   if(N<=130)
      return {T,N};
   int pok=0;
   int len=50;
   while(true){
      if(pok+len>N)
         break;
      int poz=pok+2;
      T[pok]=T[pok+1]=diff(S[pok],S[pok+1]);
      for(int i=pok+2;i<=pok+6;i++)
         T[i]=diff(T[i-1],S[i]);
      pok+=7;
      if(s[pok]!=T[pok-1]){
         T[pok]=T[pok-1];
         pok++;
      }
      else{
         T[pok]=T[pok+1]=diff(S[pok],S[pok+1]);
         pok+=2;
      }
      vector<int> sta=convert(pok);
   /*   cout<<"CONVERT "<<poz<<endl;
      for(int x:sta)
         cout<<x<<" ";
      cout<<endl;*/
    //  cerr<<"POCINJEM PISANJE NA "<<pok<<endl;
      for(int i=0;i<sta.size();i++){
         if(sta[i]==1){
            //cout<<"ISTI NA "<<pok<<" "<<pok+1<<endl;
            T[pok]=T[pok+1]=diff(S[pok],S[pok+1]);
            pok+=2;
            continue;
         }
         if(i==sta.size()-1){
            T[pok]=diff(S[pok],S[pok]);
            T[pok+1]=diff(S[pok+1],T[pok]);
            pok+=2;
            continue;
         }
         if(sta[i+1]==1){
            T[pok]=diff(S[pok],S[pok]);
            T[pok+1]=diff(S[pok+1],T[pok]);
            pok+=2;
            continue;
         }
         T[pok+1]=T[pok+2]=diff(S[pok+1],S[pok+2]);
         T[pok]=diff(S[pok],T[pok+1]);
         T[pok+3]=diff(S[pok+3],T[pok+2]);
         pok+=4;
         i++;
      }
   }
   return {T,130};
}
#include "Anna.h"
#include<bits/stdc++.h>
#define ll long long
using namespace std;
namespace {
   int N,L;
};
void init(int n, int l) {
   ::N=n;
   ::L=l;
}
int findbegin(string s){
   for(int i=0;i<s.size();i++){
      string a=s.substr(i,6);
      bool dob=true;
      for(int j=1;j<a.size();j++)
         if(a[j]==a[j-1])
            dob=false;
      if(dob)
         return i;
   }
}
int citaj(string s){
   int r=0;
   for(int i=0;i<s.size();i+=2){
      r*=2;
      if(s[i]==s[i+1])
         r++;
   }
   return r;
}
int bruno(string s){
   if(::N == ::L)
      return 1;
  // cout<<s<<endl;
   int poc=findbegin(s);
  // cout<<op<<endl;
   while(s[poc]!=s[poc+1])
      poc++;
   poc+=2;
   //cout<<s.substr(poc,38)<<endl;
   int p=citaj(s.substr(poc,38));
 //  cout<<poc<<" "<<p<<endl;
   return p-poc+1;
}
Compilation message (stderr)
Anna.cpp: In function 'std::pair<std::__cxx11::basic_string<char>, int> anna(int, std::string)':
Anna.cpp:58:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |       for(int i=0;i<sta.size();i++){
      |                   ~^~~~~~~~~~~
Anna.cpp:65:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |          if(i==sta.size()-1){
      |             ~^~~~~~~~~~~~~~
Anna.cpp:38:11: warning: unused variable 'poz' [-Wunused-variable]
   38 |       int poz=pok+2;
      |           ^~~
Anna.cpp: In function 'char diff(char, char)':
Anna.cpp:12:1: warning: control reaches end of non-void function [-Wreturn-type]
   12 | }
      | ^
Bruno.cpp: In function 'int findbegin(std::string)':
Bruno.cpp:13:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |    for(int i=0;i<s.size();i++){
      |                ~^~~~~~~~~
Bruno.cpp:16:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |       for(int j=1;j<a.size();j++)
      |                   ~^~~~~~~~~
Bruno.cpp: In function 'int citaj(std::string)':
Bruno.cpp:25:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 |    for(int i=0;i<s.size();i+=2){
      |                ~^~~~~~~~~
Bruno.cpp: In function 'int findbegin(std::string)':
Bruno.cpp:22:1: warning: control reaches end of non-void function [-Wreturn-type]
   22 | }
      | ^| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |