206832026-01-08 17:28:33algoproDNScpp17Hibás válasz 2/40225ms6076 KiB
// UUID: a89197f6-06af-4966-b9cc-a4199366ca4e
#include <bits/stdc++.h>
using namespace std;

int main() {
	string s; cin >> s;
	int n=s.size();
	int ans=0;
	for(char c : {'A', 'C', 'G', 'T'}){
		vector<int> pref(n+1);
		map<int, int> pos;
		for(int i=0;i<n;i++){
			pref[i+1]=pref[i]+(2*(c==s[i]));
			if(pos.count(pref[i+1])==0) pos[pref[i+1]]=i;
			else ans=max(ans, i-pos[pref[i+1]]);
		}
	}
	cout << ans+1;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base2/40
1Elfogadva0/01ms316 KiB
2Hibás válasz0/0225ms5544 KiB
3Elfogadva2/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms500 KiB
8Hibás válasz0/432ms1704 KiB
9Hibás válasz0/459ms2628 KiB
10Hibás válasz0/483ms2588 KiB
11Hibás válasz0/4123ms3528 KiB
12Hibás válasz0/4111ms4548 KiB
13Hibás válasz0/5141ms5420 KiB
14Hibás válasz0/5156ms6076 KiB