15122022-11-21 18:39:59lacitoDNScpp11Elfogadva 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;
	
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base40/40
1Elfogadva0/03ms1808 KiB
2Elfogadva0/014ms4388 KiB
3Elfogadva2/22ms2208 KiB
4Elfogadva2/22ms2408 KiB
5Elfogadva2/22ms2612 KiB
6Elfogadva2/22ms2824 KiB
7Elfogadva2/22ms3052 KiB
8Elfogadva4/44ms3664 KiB
9Elfogadva4/46ms4000 KiB
10Elfogadva4/47ms4108 KiB
11Elfogadva4/48ms4676 KiB
12Elfogadva4/48ms6232 KiB
13Elfogadva5/59ms6600 KiB
14Elfogadva5/510ms6932 KiB