1 solutions

  • 0
    @ 2025-12-3 17:01:25

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    int p1=-1,p2=-1,p3=-1,p12=-1,p13=-1,p21=-1,p23=-1,p31=-1,p32=-1,ans=200000;
    string s;
    int main()
    {
    	cin>>s;
    	for(int i=0;i<s.size();i++)
    	{
    		if(s[i]=='1') p1=i,p12=-1;
    		if(s[i]=='2' && p1!=-1) p12=i;
    		if(s[i]=='3' && p12!=-1) {ans=min(ans,i-p1+1);p1=-1;p12=-1;}
    	}
    	p1=-1;
    	for(int i=0;i<s.size();i++)
    	{
    		if(s[i]=='1') p1=i,p13=-1;
    		if(s[i]=='3' && p1!=-1) p13=i;
    		if(s[i]=='2' && p13!=-1) {ans=min(ans,i-p1+1);p1=-1;p13=-1;}
    	}		
    	for(int i=0;i<s.size();i++)
    	{
    		if(s[i]=='2') p2=i,p21=-1;
    		if(s[i]=='1' && p2!=-1) p21=i;
    		if(s[i]=='3' && p21!=-1) {ans=min(ans,i-p2+1);p2=-1;p21=-1;}
    	}	
    	p2=-1;
    	for(int i=0;i<s.size();i++)
    	{
    		if(s[i]=='2') p2=i,p23=-1;
    		if(s[i]=='3' && p2!=-1) p23=i;
    		if(s[i]=='1' && p23!=-1) {ans=min(ans,i-p2+1);p2=-1;p23=-1;}
    	}	
    	for(int i=0;i<s.size();i++)
    	{
    		if(s[i]=='3') p3=i,p31=-1;
    		if(s[i]=='1' && p3!=-1) p31=i;
    		if(s[i]=='2' && p31!=-1) {ans=min(ans,i-p3+1);p3=-1;p31=-1;}
    	}	
    	p3=-1;
    	for(int i=0;i<s.size();i++)
    	{
    		if(s[i]=='3') p3=i,p32=-1;
    		if(s[i]=='2' && p3!=-1) p32=i;
    		if(s[i]=='1' && p32!=-1) {ans=min(ans,i-p3+1);p3=-1;p32=-1;}
    	}	
    	cout<<ans;                                        
        return 0; 
    } 
    /*
    112233123
    */
    
    • 1

    Information

    ID
    945
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    10
    Tags
    # Submissions
    1
    Accepted
    1
    Uploaded By