/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 376.0 KiB
#3 Accepted 1ms 532.0 KiB
#4 Accepted 1ms 532.0 KiB
#5 Accepted 3ms 532.0 KiB
#6 Accepted 3ms 532.0 KiB
#7 Accepted 29ms 1.605 MiB
#8 Accepted 27ms 1.594 MiB
#9 Accepted 145ms 10.016 MiB
#10 Accepted 2ms 536.0 KiB
#11 Accepted 2ms 676.0 KiB
#12 Accepted 272ms 11.277 MiB
#13 Accepted 267ms 11.258 MiB
#14 Accepted 269ms 11.281 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++11 (G++ 13.2.0)
Submit At
2025-02-24 17:34:10
Judged At
2025-02-24 17:34:10
Judged By
Score
100
Total Time
272ms
Peak Memory
11.281 MiB