Pagini recente » Cod sursa (job #209903) | Cod sursa (job #1985131) | Cod sursa (job #2576859) | Cod sursa (job #2232680) | Cod sursa (job #1108204)
#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>>a;
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";
fin.close();
fout.close();
}