66882023-12-16 18:38:00111DNScpp17Időlimit túllépés 33/40349ms29572 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define double long double

#define pii pair<int, int>

signed main() {
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
#ifdef CB
	freopen("be2.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
#endif
	string S;
	cin >> S;
	int N = S.size();
	int ans = 0;
	for (char c : {'A', 'C', 'G', 'T'}) {
		map<int, int> m;
		int a = 0;
		for (int i = 0; i < N; i++) {
			a += (S[i] == c) * 2 - 1;
			if (!m.count(a)) {
				auto t = m.insert({a, i}).first;
				while (next(t) != m.end() && next(t)->second >= t->second) {
					m.erase(next(t));
				}
			}
			auto t = m.upper_bound(a);
			if (t != m.begin()) {
				ans = max(ans, i - prev(t)->second);
			}
		}
	}
	cout << ans << '\n';
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base33/40
1Elfogadva0/03ms1828 KiB
2Időlimit túllépés0/0349ms9876 KiB
3Elfogadva2/23ms2452 KiB
4Elfogadva2/23ms2672 KiB
5Elfogadva2/23ms2772 KiB
6Hibás válasz0/23ms2992 KiB
7Elfogadva2/23ms3000 KiB
8Elfogadva4/471ms6976 KiB
9Elfogadva4/4129ms9640 KiB
10Elfogadva4/4165ms10776 KiB
11Elfogadva4/4228ms13696 KiB
12Elfogadva4/4223ms22704 KiB
13Elfogadva5/5273ms26668 KiB
14Időlimit túllépés0/5310ms29572 KiB