/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 540.0 KiB
#2 Accepted 1ms 772.0 KiB
#3 Accepted 1ms 516.0 KiB
#4 Accepted 1ms 540.0 KiB
#5 Accepted 1ms 540.0 KiB
#6 Accepted 1ms 768.0 KiB
#7 Accepted 5ms 540.0 KiB
#8 Accepted 5ms 772.0 KiB
#9 Accepted 22ms 972.0 KiB
#10 Accepted 1ms 540.0 KiB
#11 Accepted 1ms 540.0 KiB
#12 Accepted 52ms 800.0 KiB
#13 Accepted 69ms 828.0 KiB
#14 Accepted 43ms 808.0 KiB

Code

/**
 Author : Kamonasish Roy (Bullet)
 Time : 2025-02-25 13:03:09
 **/

#include<bits/stdc++.h>
using namespace std;
const long long M=5e5,MOD=1e9+7;
typedef long long ll;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int t=1;
    cin>>t;
    assert(t>=1 && t<=20);
    while(t--){
    	string s;
    	cin>>s;
    	int n=(int)s.size();
    	assert(n>=1 && n<=100000);
    	for(int i=0;i<n;i++){
    		assert(s[i]>='A' && s[i]<='Z');
    	}
    	int mx=n;
    	vector<int>fre(26,0);
    	vector<int>target(26,0);
    	string p="IEEELUSBCHAPTER";
    	for(char ch:p)target[ch-'A']++;
    	for(char ch:s)fre[ch-'A']++;
    	int x=1;
    	for(int i=0;i<26;i++)x &=(fre[i]>=target[i]);
    	if(!x){
    		cout<<-1<<"\n";
    		continue;
    	}
    	vector<int>tracking(26,0);
    	int start=0;
    	int f=0;
    	for(int i=0;i<n;i++){
    		tracking[s[i]-'A']++;
    		int ff=1;
    		for(int c=0;c<26;c++){
    			ff &= (tracking[c]>=target[c]);
    		}
    		f|=ff;
    		if(f){
    			while(start<i && tracking[s[start]-'A']-1>=target[s[start]-'A']){
    				tracking[s[start]-'A']--;
    				start++;
    			}
    			mx=min(mx,i-start+1);
    		}
    		
    	}
    	cout<<mx<<"\n";
    	
    	
    	
    	}
    	
    	   
    return 0;
 
}

Information

Submit By
Type
Submission
Problem
P1174 IEEE LU SB CHAPTER
Language
C++17 (G++ 13.2.0)
Submit At
2025-02-25 08:35:36
Judged At
2025-02-25 08:35:36
Judged By
Score
100
Total Time
69ms
Peak Memory
972.0 KiB