Cod sursa(job #1231109)

Utilizator RaduGabriel2012Dinu Radu RaduGabriel2012 Data 19 septembrie 2014 16:15:14
Problema PScPld Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <fstream>
#include <cstring>
#define vmax 1000005
using namespace std;
ifstream f("pscpld.in");
ofstream g("pscpld.out");
 char s[vmax];
 int sol[vmax<<1],len,m,st,dr,res=0;

int main()
{ int i,m1,m2;
    f>>s;
     st=0; dr=strlen(s)-1;
      len=2*(strlen(s)-1);
     for(i=0;i<=len;i+=2)
      {sol[i]=1; res++;}

   for(i=0;i<=len;i++)
   { m=i/2;
      m1=m+i%2; m2=m;

       while(m1-1>=st && m2+1<=dr && s[m1-1]==s[m2+1])
         {res++; sol[i]+=2; m1--; m2++;}
    }
     g<<res;
    return 0;
}