2019[海淀区赛第4题] 糖果

题目描述


小民是一个很喜欢吃糖果的小孩子,他给所有的糖果进行了分类,有A~Z一共26种糖果,现在小民有一排糖果,小民很奇怪,吃糖果只喜欢吃连续的若干个,并且不希望吃到相同分类的糖果。现在小民让你帮他计算一下L的最大值使得他的一排糖果中的任意连续L个糖果都不会有相同的分类。

输入格式


输入仅一行,一行由大写字母组成的字符串,代表小民的一排糖果[输出说明]
输出仅一行,输出L的最大值。如果一排糖果都没有相同的,请输出- 1

样例输入

ABABABABABAB

样例输出

2

参考代码

#include 
#include 
#include 
#define ll long long
using namespace std;
int main()
{
	freopen("candy.in", "r", stdin);
	freopen("candy.out", "w", stdout);
	
	string s;
	ll maxx = 0;
	cin>>s;
	
	for(ll i = 0; i < s.length(); i++)
	{
		ll cnt = 1;
		for(ll j = i + 1; j < s.length(); j++)
		{
			if(s[j] - s[j - 1] != 1)
				break;
			cnt++;
		}
		maxx = max(maxx, cnt);
	}
	
	printf("%lld", maxx);
	
	return 0;
}

你可能感兴趣的:(C++,c++,算法)