Pagini recente » Cod sursa (job #1567555) | Cod sursa (job #2773657) | Cod sursa (job #2258075) | Cod sursa (job #947857) | Cod sursa (job #2788776)
#include<bits/stdc++.h>
using namespace std;
ifstream F("pscpld.in");
ofstream G("pscpld.out");
string s;
long long a[2000002],n,i,j,c=1,p=2,S=1;
int main()
{
for(F>>s,n=s.size()*2+1,a[1]=1,i=2;i<n;++i) {
for(j=min(a[c*2-i],max(p-i,0LL));i+j<n&&j<i&&((i+j)%2||s[(i+j+1)/2]==s[(i-j-1)/2]);++j);
if(i+j>p)
c=i,p=i+j;
a[i]=j,S+=j/2+j%2;
}
G<<S;
return 0;
}