Pagini recente » Cod sursa (job #2296048) | Cod sursa (job #2354914) | Cod sursa (job #2501966) | Cod sursa (job #2713145) | Cod sursa (job #2113264)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN=16400;
ifstream si("substr.in");
ofstream so("substr.out");
char s[MAXN];
char *sf[MAXN];
bool cmp(char *a,char *b)
{
return strcmp(a,b)<0;
}
int main()
{
int n,k;
si>>n>>k;
si>>s;
for(int i=0;i<n;i++)
{
sf[i]=(s+i);
}
sort(sf,sf+n,cmp);
int ans=0;
for(int i=0;i<n-k+1;i++)
{
int sol=0;
char *sf1,*sf2;
sf1=sf[i];
sf2=sf[i+k-1];
while(*sf1&&*sf2&&*sf1==*sf2)
{
sol++;
sf1++;
sf2++;
}
ans=max(ans,sol);
}
so<<ans;
return 0;
}