246642026-02-13 12:10:24algoproDNScpp17Wrong answer 38/4079ms10924 KiB
// UUID: f499f9c6-f3d5-4e0e-82bd-84b4bb5d4584
#include <bits/stdc++.h>
using namespace std;

void solve() {
    string s;
    cin >> s;
    int n = s.size();
    int res = 0;
    for (char letter : {'C', 'T', 'A', 'G'}) {
        unordered_map<int, int> map;
        vector<int> pref(n + 1);
        pref[0] = 0;
        map[0] = 0;
        for (int i = 1; i <= n; i++) {
            pref[i] = pref[i-1];
            if (letter == s[i-1]) pref[i]++;
            else pref[i]--;
            if (map.find(pref[i]) == map.end()) {
                map[pref[i]] = i;
            }else res = max(res, i - map[pref[i]]);
        }
    }
    cout << res;
    return;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int t = 1;
    //cin >> t;
    while (t--) {
        solve();
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base38/40
1Accepted0/01ms508 KiB
2Accepted0/072ms6656 KiB
3Accepted2/21ms316 KiB
4Accepted2/21ms316 KiB
5Accepted2/21ms316 KiB
6Wrong answer0/21ms316 KiB
7Accepted2/21ms344 KiB
8Accepted4/418ms1936 KiB
9Accepted4/430ms3104 KiB
10Accepted4/437ms3468 KiB
11Accepted4/445ms4232 KiB
12Accepted4/454ms7180 KiB
13Accepted5/571ms10716 KiB
14Accepted5/579ms10924 KiB