15122022-11-21 18:39:59lacitoDNScpp11Accepted 40/4014ms6932 KiB
#include <bits/stdc++.h>
using namespace std;

string s;
int maxi;

void leghossz(char c) {
	vector<int> elsolegk;
	int szam = 0;
	for (int i = 0; i < s.length(); i++) {
		if (s[i] == c) {
			szam++;
			if (szam >= 0) {
				if (i + 1 > maxi) maxi = i + 1;
			} else {
				if (maxi < i - elsolegk[abs(szam)-1]) {
					maxi = i - elsolegk[abs(szam)-1];
				}
			}
		} else {
			szam--;
			if (szam >= 0) {
				if (i + 1 > maxi) maxi = i + 1;
			} else if (szam < 0 && elsolegk.size() < abs(szam)) {
				elsolegk.push_back(i);
			}
		}
	}
	cerr << endl << maxi << endl;
}

int main() {
	cin >> s;
	
	leghossz('A');
	leghossz('C');
	leghossz('G');
	leghossz('T');
	cout << maxi << endl;
	
}
SubtaskSumTestVerdictTimeMemory
base40/40
1Accepted0/03ms1808 KiB
2Accepted0/014ms4388 KiB
3Accepted2/22ms2208 KiB
4Accepted2/22ms2408 KiB
5Accepted2/22ms2612 KiB
6Accepted2/22ms2824 KiB
7Accepted2/22ms3052 KiB
8Accepted4/44ms3664 KiB
9Accepted4/46ms4000 KiB
10Accepted4/47ms4108 KiB
11Accepted4/48ms4676 KiB
12Accepted4/48ms6232 KiB
13Accepted5/59ms6600 KiB
14Accepted5/510ms6932 KiB