func_code_string: #include <bits/stdc++.h>   using namespace std;   int N;   long long gMin = 1e12, gMax = -1e12, rMin = 1e12, rMax = -1e12, bMin = 1e12,             bMax = -1e12, lasty = -1e12, ret = 0;   vector<long long> notGreen[2];   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout << fixed << setprecision(18);     cin >> N;     for (int i = 0; i <= N; i++) {       long long x = 1e12;       char c =  G ;       if (i < N) cin >> x >> c;       if (c ==  G ) {         if (i < N) {           gMin = min(gMin, x);           gMax = max(gMax, x);         }         long long add1 = x - lasty, add2 = add1 * 2;         if (add1 >= 1e10) add1 = 0;         for (int j = 0; j < 2; j++) {           if (notGreen[j].size() == 0) continue;           add1 += x - lasty;           long long maxi =               max(notGreen[j].front() - lasty, x - notGreen[j].back());           for (int k = 0; k < notGreen[j].size() - 1; k++)             maxi = max(maxi, notGreen[j][k + 1] - notGreen[j][k]);           add1 -= maxi;           notGreen[j] = vector<long long>();         }         ret += min(add1, add2);         lasty = x;       } else if (c ==  R ) {         notGreen[0].push_back(x);         rMin = min(rMin, x);         rMax = max(rMax, x);       } else {         notGreen[1].push_back(x);         bMin = min(bMin, x);         bMax = max(bMax, x);       }     }     if (gMin > gMax) ret = max(0ll, rMax - rMin) + max(0ll, bMax - bMin);     cout << ret <<   n ;     return 0;   }   