// atcoderdpcontest.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<vector<int>>prefix(26, vector<int>(26, 0));
vector<vector<int>>prefixmin(26, vector<int>(26, 1e9+3));
vector<vector<int>>posledny(26, vector<int>(26));
int n;
cin >> n;
string s;
cin >> s;
int vys = 0;
for (int i = 0; i < n; i++)
{
int znak = s[i] - 'a';
for (int znak2 = 0; znak2 < 26; znak2++)
{
if (znak != znak2)
{
prefix[znak][znak2] += 1;
vys = max(vys, prefix[znak][znak2] - prefixmin[znak][znak2]);
prefixmin[znak2][znak] = min(prefixmin[znak2][znak], posledny[znak2][znak]);
posledny[znak2][znak] = prefix[znak2][znak] - 1;
prefix[znak2][znak] -= 1;
vys = max(vys, prefix[znak2][znak] - prefixmin[znak2][znak]);
}
}
}
cout << vys << endl;
return 0;
///std::cout << "Hello World!\n";
}
// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu
// Tips for Getting Started:
// 1. Use the Solution Explorer window to add/manage files
// 2. Use the Team Explorer window to connect to source control
// 3. Use the Output window to see build output and other messages
// 4. Use the Error List window to view errors
// 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
// 6. In the future, to open this project again, go to File > Open > Project and select the .sln file
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
308 KB |
Output is correct |
2 |
Correct |
1 ms |
300 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
4 |
Correct |
0 ms |
308 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
308 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
1 ms |
204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
304 KB |
Output is correct |
2 |
Correct |
1 ms |
296 KB |
Output is correct |
3 |
Correct |
1 ms |
308 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
304 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
3 ms |
332 KB |
Output is correct |
2 |
Correct |
0 ms |
304 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
19 ms |
608 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
4 ms |
332 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
189 ms |
3300 KB |
Output is correct |
2 |
Correct |
1 ms |
204 KB |
Output is correct |
3 |
Correct |
155 ms |
2028 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
185 ms |
3304 KB |
Output is correct |
2 |
Correct |
153 ms |
2000 KB |
Output is correct |
3 |
Correct |
159 ms |
2092 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
186 ms |
3324 KB |
Output is correct |
2 |
Correct |
189 ms |
3248 KB |
Output is correct |
3 |
Correct |
182 ms |
3320 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
184 ms |
3232 KB |
Output is correct |
2 |
Correct |
186 ms |
3252 KB |
Output is correct |
3 |
Correct |
183 ms |
3216 KB |
Output is correct |