Cod sursa(job #3359708)

Utilizator TimofeiFilipTimofei Filip Emanuel TimofeiFilip Data 2 iulie 2026 19:56:00
Problema PScPld Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<cstdio>
#include<cstring>
#pragma GCC optimize("O3, Ofast, unroll-loops")
using namespace std;

const int NMAX = 1e6 + 10;

bool check_palindrom(char v[NMAX], int i, int j) {
    while (i <= j) {
        if (v[i] != v[j]) return false;
        i++;
        j--;
    }
    return true;
}

int manacher(char v[NMAX]) {
    int n = strlen(v);
    int result = 0;
    for (int i = 0; i < n; i++) {
        for (int j = i; j < n; j++) {
            result += check_palindrom(v, i, j);
        }
    }
    return result;
}

int main() {
    freopen("pscpld.in", "r", stdin);
    freopen("pscpld.out", "w", stdout);

    char s[NMAX];
    scanf("%s", s);

    int result = manacher(s);
    printf("%d\n", result);
    return 0;
}