Untitled

                Never    
C++
       
#include <iostream>
#include <string>
#include <vector>
#include <climits>
#include <algorithm>
using namespace std;
const char jasne[] = "eyuioa";
const char JASNE[] = "EYUIOA";
const char CIEMNE[] = "QWRTPSDFGHJKLZXCVBNM";
const char ciemne[] = "qwrtpsdfghjklzxcvbnm";

int max_jasne = 0;
int min_jasne = INT_MAX;
int max_JASNE = 0;
int min_JASNE = INT_MAX;
int max_ciemne = 0;
int min_ciemne = INT_MAX;
int max_CIEMNE = 0;
int min_CIEMNE = INT_MAX;

int tablica[1000001];



int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int n;
    cin>>n;


    for(int zapytanie=0; zapytanie<n; ++zapytanie)
    {
        string ciag;
        cin>>ciag;


        int rozmiar_ciagu = ciag.size();

        for(int i=0; i<500000; ++i)
                tablica[i] = 0;

        for(int i=0; i<rozmiar_ciagu; ++i)
        {

            for(int j=0; j<6; ++j)
            {if(ciag[i] == jasne[j])
                {tablica[i] = 3; break;}
            }

            for(int j=0; j<6; ++j)
            {if(ciag[i] == JASNE[j])
                {tablica[i] = 1; break;}
            }

            for(int j=0; j<20; ++j)
            {if(ciag[i] == ciemne[j])
                {tablica[i] = 4; break;}
            }

            for(int j=0; j<20; ++j)
            {if(ciag[i] == CIEMNE[j])
                {tablica[i] = 2;break;}
            }
        }

        ///tablica zawierajaca 1/2/3/4


        int dlu_pier_frag = 1;
        int typ_poczatku = tablica[0];

max_jasne = 0;
min_jasne = INT_MAX;
max_JASNE = 0;
min_JASNE = INT_MAX;
max_ciemne = 0;
min_ciemne = INT_MAX;
max_CIEMNE = 0;
min_CIEMNE = INT_MAX;


        int akt_dlug_podc = 0;


        bool czy_jest_monowartosciowa = true;
        ///1)CZY JEST MONOWARTOSCIOWA?
        for(int i=1; i<rozmiar_ciagu; ++i)
        {
            if(tablica[i] != tablica[i-1])
            {
                czy_jest_monowartosciowa = false;
                break;
            }
        }
        if( czy_jest_monowartosciowa )
        {
            ///OPCJA A - JEST STALA
            cout<<rozmiar_ciagu;
            if(tablica[0] == 1)
                cout<<" JASNE"<<endl;
            if(tablica[0] == 2)
                cout<<" CIEMNE"<<endl;
            if(tablica[0] == 3)
                cout<<" jasne"<<endl;
            if(tablica[0] == 4)
                cout<<" ciemne"<<endl;

            cout<<rozmiar_ciagu;
            if(tablica[0] == 1)
                cout<<" JASNE"<<endl;
            if(tablica[0] == 2)
                cout<<" CIEMNE"<<endl;
            if(tablica[0] == 3)
                cout<<" jasne"<<endl;
            if(tablica[0] == 4)
                cout<<" ciemne"<<endl;
        }
        else
        {
            int typ_poczatku = tablica[0];
            int liczba_poczatkowych_elementow = 1;
            for(int i=1; i<rozmiar_ciagu; ++i)
            {
                if(tablica[i] == typ_poczatku)
                    {liczba_poczatkowych_elementow++; tablica[i] = 0;}
                else
                    break;
            }

           // cout<<liczba_poczatkowych_elementow<<endl;
            for(int i=rozmiar_ciagu; i<rozmiar_ciagu+liczba_poczatkowych_elementow; ++i)
                {tablica[i] = typ_poczatku;}

          //  cout<<"OK";
           // for(int i=liczba_poczatkowych_elementow; i<rozmiar_ciagu+liczba_poczatkowych_elementow; ++i)
             //   {cout<<tablica[i]<<'\t';}

            tablica[rozmiar_ciagu+liczba_poczatkowych_elementow] = 0; ///ŻEBY NIE TRZEBA BYLO ROZPATRYWAC JEDNEGO Z CIAGOW NA KONCU OSOBNO
            ///DLA JEDYNEK
            akt_dlug_podc = 0;
            for(int i=liczba_poczatkowych_elementow; i<=rozmiar_ciagu+liczba_poczatkowych_elementow; ++i)
            {
                if(tablica[i] == 1)
                    akt_dlug_podc++;
                else
                    if(akt_dlug_podc!=0)
                    {
                        max_JASNE=max(max_JASNE, akt_dlug_podc);
                        min_JASNE=min(min_JASNE, akt_dlug_podc);
                        akt_dlug_podc = 0;
                    }
            }

            ///DLA DWOJEK
            akt_dlug_podc = 0;
            for(int i=liczba_poczatkowych_elementow; i<=rozmiar_ciagu+liczba_poczatkowych_elementow; ++i)
            {
                if(tablica[i] == 2)
                    akt_dlug_podc++;
                else
                    if(akt_dlug_podc!=0)
                    {
                        max_CIEMNE=max(max_CIEMNE, akt_dlug_podc);
                        min_CIEMNE=min(min_CIEMNE, akt_dlug_podc);
                        akt_dlug_podc = 0;
                    }
            }


            ///DLA JEDYNEK
            akt_dlug_podc = 0;
            for(int i=liczba_poczatkowych_elementow; i<=rozmiar_ciagu+liczba_poczatkowych_elementow; ++i)
            {
                if(tablica[i] == 3)
                    akt_dlug_podc++;
                else
                    if(akt_dlug_podc!=0)
                    {
                        max_jasne=max(max_jasne, akt_dlug_podc);
                        min_jasne=min(min_jasne, akt_dlug_podc);
                        akt_dlug_podc = 0;
                    }
            }


            ///DLA JEDYNEK
            akt_dlug_podc = 0;
            for(int i=liczba_poczatkowych_elementow; i<=rozmiar_ciagu+liczba_poczatkowych_elementow; ++i)
            {
                if(tablica[i] == 4)
                    akt_dlug_podc++;
                else
                    if(akt_dlug_podc!=0)
                    {
                        max_ciemne=max(max_ciemne, akt_dlug_podc);
                        min_ciemne=min(min_ciemne, akt_dlug_podc);
                        akt_dlug_podc = 0;
                    }
            }

            ///WYSWIETLANIE MAKSIMUM
            if(max_JASNE >= max(max_ciemne, int(max(max_jasne, max_CIEMNE))))
                cout<<max_JASNE<<" JASNE"<<endl;
            else if(max_CIEMNE >= max(max_ciemne, max_jasne))
                cout<<max_CIEMNE<<" CIEMNE"<<endl;
            else if(max_jasne >= max_ciemne)
                cout<<max_jasne<<" jasne"<<endl;
            else
                cout<<max_ciemne<<" ciemne"<<endl;

            ///WYSWIETLANIE MINIMUM
            if(min_JASNE <= min(min_ciemne, int(min(min_jasne, min_CIEMNE))))
                cout<<min_JASNE<<" JASNE"<<endl;
            else if(min_CIEMNE <= min(min_ciemne, min_jasne))
                cout<<min_CIEMNE<<" CIEMNE"<<endl;
            else if(min_jasne <= min_ciemne)
                cout<<min_jasne<<" jasne"<<endl;
            else
                cout<<min_ciemne<<" ciemne"<<endl;


        }
    }




    return 0;
}

Raw Text