Cod sursa(job #513128)

Utilizator darrenRares Buhai darren Data 15 decembrie 2010 10:07:26
Problema Substr Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstring>
#include <fstream>
#include <algorithm>

using namespace std;

bool cmp(char* c1, char* c2)
{
	return strcmp(c1, c2) < 0;
}

int N, K;
char text[16400], *p[16400];
int result;

int main()
{
	ifstream fin("substr.in");
	ofstream fout("substr.out");

	fin >> N >> K;
	fin.getline(text, 16400);
	fin.getline(text, 16400);
	for (int i = 0; i < N; ++i)
		p[i] = text + i;

	sort(p, p + N, cmp);

	for (int i = 0; i < N - K + 1; ++i)
	{
		int match = 0;

		char *p1 = p[i], *p2 = p[i + K - 1];
		while (*p1 == *p2 && *p1 && *p2)
			++match, ++p1, ++p2;

		if (match > result)
			result = match;
	}

	fout << result;

	fin.close();
	fout.close();
}