/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 324.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 1ms 340.0 KiB
#4 Accepted 1ms 532.0 KiB
#5 Accepted 16ms 676.0 KiB
#6 Accepted 16ms 532.0 KiB
#7 Accepted 177ms 1.578 MiB
#8 Accepted 166ms 1.578 MiB
#9 Accepted 937ms 9.949 MiB
#10 Accepted 6ms 688.0 KiB
#11 Accepted 7ms 532.0 KiB
#12 Time Exceeded ≥1100ms ≥11.098 MiB
#13 Time Exceeded ≥1001ms ≥11.133 MiB

Code

/*
 *   Copyright (c) 2025 Emon Thakur
 *   All rights reserved.
 */
#include<bits/stdc++.h>
using namespace std;
void solve()
{
    string s; cin >> s;
    int n = s.size();
    s = "#"+s;
    string ieee = "IEEELUSBCHAPTER";
    vector<int> need(26);
    for(auto e:ieee) need[e-'A']++;

    vector<vector<int>> pfs(26,vector<int>(n+1));
    for(int i=1;i<=n;i++)
    {
        for(int ch=0;ch<26;ch++)
        {
            char c = 'A'+ch;
            pfs[ch][i] = pfs[ch][i-1] + (s[i]==c);
        }
    }

    // for(int i=0;i<5;i++)
    // {
    //     for(int j=1;j<=n;j++) cout<<pfs[i][j]<<' '; cout<<endl;
    // }

    int ans = 1e9;
    for(int i=1;i<=n-14;i++)
    {
        int mxind = i;
        bool ok = true;
        for(int c=0;c<26;c++)
        {
            if(need[c]==0) continue;
            int lo = i, hi = n, mid, ind = 0;
            while(lo<=hi)
            {
                mid = (lo+hi)/2;
                if(pfs[c][mid]-pfs[c][i-1] >= need[c])
                {
                    ind = mid;
                    hi = mid-1;
                }else lo = mid+1;
            }
            if(ind) mxind = max(mxind , ind);
            else {ok=false; break;}
        }
        if(ok) ans = min(ans , mxind-i+1);
    }

    (ans==1e9)? cout<<-1<<'\n': cout<<ans<<'\n';
}
int main()
{
    ios::sync_with_stdio(false); cin.tie(nullptr);
    int t; cin >> t; while(t--) solve();
}

Information

Submit By
Type
Submission
Problem
P1174 IEEE LU SB CHAPTER
Contest
Lu IEEE testing round
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-24 21:01:42
Judged At
2025-02-24 21:01:42
Judged By
Score
70
Total Time
≥1100ms
Peak Memory
≥11.133 MiB