207062026-01-08 18:05:36algoproDNScpp17Wrong answer 24/4017ms2884 KiB
// UUID: ca4a4e15-f5f5-4220-bd1a-a179baef5562
#include <bits/stdc++.h>
using namespace std;

int main() {
	int longest = 0;
	string s;cin >> s;
	vector<int> str;
	vector<int> p(s.size() + 1);
	for (int i = 1;i <= s.size();i++) {
		if (s[i] == 'A') p[i] = (p[i - 1] + 1);
		else p[i] = (p[i - 1] - 1);
	}
	vector<int> first;
	for (int i = 0;i < p.size();i++) {
		if (-p[i] > first.size()) {
			first.push_back(i - 1);
		}
	}
	for (int i = 0;i < s.size() + 1;i++) {
		if (p[i] >= 0) longest = max(longest, i);
		else longest = max(longest, i - first[-p[i] - 1] - 1);
	}

	str.clear();
	p = vector<int>(s.size() + 1);
	for (int i = 1;i <= s.size();i++) {
		if (s[i] == 'C') p[i] = (p[i - 1] + 1);
		else p[i] = (p[i - 1] - 1);
	}
	first.clear();
	for (int i = 0;i < p.size();i++) {
		if (-p[i] > first.size()) {
			first.push_back(i - 1);
		}
	}
	for (int i = 0;i < s.size() + 1;i++) {
		if (p[i] >= 0) longest = max(longest, i);
		else longest = max(longest, i - first[-p[i] - 1] - 1);
	}

	str.clear();
	p = vector<int>(s.size() + 1);
	for (int i = 1;i <= s.size();i++) {
		if (s[i] == 'G') p[i] = (p[i - 1] + 1);
		else p[i] = (p[i - 1] - 1);
	}
	first.clear();
	for (int i = 0;i < p.size();i++) {
		if (-p[i] > first.size()) {
			first.push_back(i - 1);
		}
	}
	for (int i = 0;i < s.size() + 1;i++) {
		if (p[i] >= 0) longest = max(longest, i);
		else longest = max(longest, i - first[-p[i] - 1] - 1);
	}

	str.clear();
	p = vector<int>(s.size() + 1);
	for (int i = 1;i <= s.size();i++) {
		if (s[i] == 'T') p[i] = (p[i - 1] + 1);
		else p[i] = (p[i - 1] - 1);
	}
	first.clear();
	for (int i = 0;i < p.size();i++) {
		if (-p[i] > first.size()) {
			first.push_back(i - 1);
		}
	}
	for (int i = 0;i < s.size() + 1;i++) {
		if (p[i] >= 0) longest = max(longest, i);
		else longest = max(longest, i - first[-p[i] - 1] - 1);
	}
	cout << longest;
}
SubtaskSumTestVerdictTimeMemory
base24/40
1Accepted0/01ms316 KiB
2Accepted0/017ms2620 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms508 KiB
5Wrong answer0/21ms316 KiB
6Accepted2/21ms316 KiB
7Accepted2/21ms316 KiB
8Accepted4/44ms1032 KiB
9Accepted4/46ms1396 KiB
10Accepted4/48ms1712 KiB
11Accepted4/49ms1860 KiB
12Wrong answer0/49ms2304 KiB
13Wrong answer0/510ms2684 KiB
14Wrong answer0/513ms2884 KiB