/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 1ms 532.0 KiB
#4 Accepted 2ms 580.0 KiB
#5 Accepted 4ms 532.0 KiB
#6 Accepted 9ms 676.0 KiB
#7 Accepted 47ms 1.578 MiB
#8 Accepted 27ms 1.602 MiB
#9 Accepted 152ms 9.992 MiB
#10 Accepted 2ms 532.0 KiB
#11 Accepted 2ms 532.0 KiB
#12 Accepted 276ms 11.227 MiB
#13 Accepted 296ms 11.305 MiB
#14 Accepted 294ms 11.316 MiB

Code

#include<bits/stdc++.h>
#define endl '\n'
using namespace std;
using ll = long long;

map<char, int> mp = {{'I', 1}, {'E', 4}, {'S', 1}, {'B', 1}, {'C', 1}, {'H', 1}, {'A', 1}, {'P', 1}, {'T', 1}, {'R', 1}};

void solve() {
    string s1;
    cin >> s1;
    int n = s1.size(), ans = -1;
    s1 = '#' + s1; // 1'base
    vector<vector<int>> pre(26, vector<int> (n + 1, 0));
    for(int i = 1; i <= n; i++) {
        pre[s1[i] - 'A'][i]++;
        for(int ch = 0; ch < 26; ch++) pre[ch][i] += pre[ch][i - 1];
    }
    int lo = 1, hi = n, mid;
    while(lo <= hi) {
        mid = lo + hi >> 1;

        auto isPossible = [&](int k) -> bool {
            int l = 1, r = k;
            while(r <= n) {
                bool ok = 1;
                for(auto &[ch, cnt]: mp) {
                    if(cnt > pre[ch - 'A'][r] - pre[ch - 'A'][l - 1]) {
                        ok = 0;
                        break;
                    }
                }
                if(ok) return 1;
                ++l, ++r;
            }
            return 0;
        };

        if(isPossible(mid)) {
            ans = mid;
            hi = mid - 1;
        }
        else lo = mid + 1;
    }
    cout << ans << endl;
    return;
}

int main() {
    ios::sync_with_stdio(false); cin.tie(0);
    int tc = 1;
    cin >> tc;
    for (int t = 1; t <= tc; t++) {
        // cout << "Case " << t << ": ";
        solve();
    }
    return 0;
}

Information

Submit By
Type
Submission
Problem
P1174 IEEE LU SB CHAPTER
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-24 17:31:57
Judged At
2025-02-24 17:31:57
Judged By
Score
100
Total Time
296ms
Peak Memory
11.316 MiB