Pagini recente » Cod sursa (job #1450032) | Cod sursa (job #998616) | Cod sursa (job #1073799) | Cod sursa (job #479323) | Cod sursa (job #1108191)
#include <algorithm>
#include <fstream>
#include <cstring>
using namespace std;
const int N=17000;
ifstream fin("substr.in");
ofstream fout("substr.out");
char a[N], *b[N];
struct comp
{
bool operator()(const char *r, const char *t)
{
return strcmp(r, t)<0;
}
};
int main()
{
int n, k, i, sol=0, s;
char *p1, *p2;
fin>>n>>k; fin.get();
fin.getline(a, N);
for(i=0;i<n;i++) b[i]=a+i;
sort(b, b+n, comp());
for(i=0;i+k<=n;i++)
{
for(p1=b[i], p2=b[i+k-1], s=0;*p1&&*p2&&*p1==*p2;s++, p1++, p2++);
sol=max(sol, s);
}
fout<<sol<<"\n";
}