Cod sursa(job #460531)
Utilizator | Data | 2 iunie 2010 21:57:11 | |
---|---|---|---|
Problema | PScPld | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.43 kb |
#include <cstdio>
#include <cstring>
char s[1000005];
int main()
{
int n,i;
long long nr=0;
freopen("pscpld.in","r",stdin);
freopen("pscpld.out","w",stdout);
scanf("%s",s);
n=strlen(s)-1;
for (i=0;i<=n;++i)
{
int a=i-1,b=i+1;
while ((a>=0) && (b<=n) && (s[a]==s[b]))
--a,++b;
nr+=i-a;
a=i;b=i+1;
while ((a>=0) && (b<=n) && (s[a]==s[b]))
--a,++b;
nr+=i-a;
}
printf("%lld",nr);
return 0;}