Untitled

mail@pastecode.io avatar
unknown
plain_text
20 days ago
1.1 kB
3
Indexable
Never
#include <bits/stdc++.h>

using namespace std;

// Complete the substrCount function below.
long substrCount(int n, string s) {
    int l = 0, r = 1;
    long res = 0;
    while (l < n && r < n) {
        if (l >= r) {
            r = l + 1;
            continue;
        }
        if (s[l] == s[r]) {
            r++;
            continue;
        }
        
        else{
            int num = r - l;
            res += ((num + 1) * num) / 2;
            if(s.substr(l, r - l) == s.substr(r + 1, r - l)){
                res += r - l;
                l++;
                r++;
                continue;
        }
            l++;
            r++;
        
        }
    }

    if (r > l) {
        int num = r - l;
        res += ((num + 1) * num) / 2;
    }
    
    return res;

}

int main()
{
    ofstream fout(getenv("OUTPUT_PATH"));

    int n;
    cin >> n;
    cin.ignore(numeric_limits<streamsize>::max(), '\n');

    string s;
    getline(cin, s);

    long result = substrCount(n, s);

    fout << result << "\n";

    fout.close();

    return 0;
}
Leave a Comment