Cod sursa(job #1693824)

Utilizator dragos231456Neghina Dragos dragos231456 Data 23 aprilie 2016 22:28:32
Problema PScPld Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#define n s.size()-1
using namespace std;
ifstream f("pscpld.in"); ofstream g("pscpld.out");
string s;
char k;
int p=1;
long long nr;
int main()
{
    getline(f,s);
    if(s[0]==s[1]) p=2;
    else
    {
        p=1;
        nr=1;
    }
    k=s[1];
    for(int i=2;i<=n;++i)
    {
        if(s[i]==k) ++p;
        else
        {
            k=s[i];
            nr+=(p*(p+1)/2);
            p=1;
            while(s[i+p-1]==s[i-p-1])
            {
                p++;
            }
            if(p>1)
            {
                nr+=p;
                p=1;
            }
            p=1;
        }
    }
    g<<nr;
    return 0;
}