246642026-02-13 12:10:24algoproDNScpp17Hibás válasz 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;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/40
1Elfogadva0/01ms508 KiB
2Elfogadva0/072ms6656 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Elfogadva2/21ms344 KiB
8Elfogadva4/418ms1936 KiB
9Elfogadva4/430ms3104 KiB
10Elfogadva4/437ms3468 KiB
11Elfogadva4/445ms4232 KiB
12Elfogadva4/454ms7180 KiB
13Elfogadva5/571ms10716 KiB
14Elfogadva5/579ms10924 KiB