Pagini recente » Cod sursa (job #2548009) | Cod sursa (job #1553526) | Cod sursa (job #1735263) | Cod sursa (job #2176795) | Cod sursa (job #2174161)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("secvpal1.in");
ofstream fout("secvpal1.out");
int n,L;
int lmax[50005];
int LgMax(char s[])
{ int i,st,dr,lgmax=0,lg,n=strlen(s);
for (i=0;i<n;i++)
{ /// lungime impara
lg=1; st=i-1; dr=i+1;
while (st>=0 && dr<=n-1 && s[st]==s[dr])
{ lg+=2; st--; dr++; }
if (lg>lgmax) lgmax=lg;
/// lungime para
lg=0; st=i; dr=i+1;
while (st>=0 && dr<=n-1 && s[st]==s[dr])
{ lg+=2; st--; dr++; }
if (lg>lgmax) lgmax=lg;
}
return lgmax;
}
void Citire()
{ int i; char s[10005];
fin>>n>>L;
for (i=1;i<=n;i++)
{ fin>>s;
lmax[i]=LgMax(s);
}
}
int NumarSecvente()
{ int s=0,nr=0,i,primul=1;
for (i=1;i<=n;i++)
{ s=s+lmax[i];
while (s>L) { s=s-lmax[primul]; primul++; }
if (s==L) nr++;
}
return nr;
}
int main()
{ Citire();
fout<<NumarSecvente();
return 0;
}