7723 2024. 01. 10 18:20:29 Kristóf Takaros Sorozat (80 pont) cpp17 Időlimit túllépés 8/80 500ms 5488 KiB
#include <iostream>

using namespace std;

int main()
{
    int n;
    bool ell=false;
    bool ell2=false;
    cin>>n;
    string sor;
    cin>>sor;
    int s[n];
    int s2[n];
    for (int i=0;i<n;i++){
            if(sor[i]=='0'){
        s[i]=0;
            }
            if(sor[i]=='1'){
                s[i]=1;
            }
        s2[i]=s[i];
    }

    bool nulla=false;
    bool end=false;
    int m=0;
    if(s[0]==0){
        m=1;
    }
    int ans=0;
    int ans2=0;
            for(int l=n-1;l>-1;l--){
            if(s[l]!=1){
                ell=true;
            }
            if(ell==true && s[l]==1){
                nulla=false;
                break;
            }
           nulla=true;
        }
        if(nulla==true){
            cout<<0<<endl<<0<<endl;
            return 0;
        }
    while(end==false){
        ell=false;
        cout<<ans<<"seged"<<endl;
        if(s[0]==0){
        m=1;
    }
    else m=0;
        for(int i=m;i<n-1;i++){
            if(s[i]+s[i+1]==1){
                s[i]=0;
                s[i+1]=0;
                if(m==1){
                    s[i]=1;
                    s[i+1]=1;
                }
                ans++;
                break;
            }

        }
        for(int l=n-1;l>-1;l--){
            if(s[l]!=1){
                ell=true;
            }
            if(ell==true && s[l]==1){
                end=false;
                break;
            }
            end=true;
        }
    }
    cout<<ans<<endl;
    int seged;
bool end2=false;
    int m2=0;
    if(s2[0]==0){
        m2++;
    }
    while(end2==false){
            cout<<ans2<<"seged2"<<endl;
            seged=0;
        if(s2[0]!=0){
        m2=1;
        }
        else m2=0;
        for(int i=m2;i<n-3;i++){
            if(s2[i]+s2[i+1]+s2[i+2]+s2[i+3]==2){
                s2[i]=0;
                s2[i+1]=0;
                s2[i+2]=0;
                s2[i+3]=0;
                if(m2=1){
                    s2[i]=1;
                    s2[i+1]=1;
                    s2[i+2]=1;
                    s2[i+3]=1;
                }
                ans2++;
                seged=1;
                break;
            }
        }
        if(seged==1){
        }
        for(int i=m2;i<n-1;i++){
            if(seged==1){
                break;
            }
            if(s2[i]+s2[i+1]==1){
                s2[i]=0;
                s2[i+1]=0;
                if(m2==1){
                    s2[i]=1;
                    s2[i+1]=1;
                }
                ans2++;
                break;
            }

        }
        for(int l=n-1;l>-1;l--){
            if(s2[l]!=1){
                ell2=true;
            }
            if(ell2==true && s2[l]==1){
                end2=false;
                cout<<"nem jo meg"<<endl;
                break;
            }
            end2=true;
        }
    }
    cout<<ans2<<endl;



    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 8/80
1 Időlimit túllépés 0/0 472ms 1024 KiB
2 Időlimit túllépés 0/0 451ms 2192 KiB
3 Elfogadva 4/4 3ms 2160 KiB
4 Időlimit túllépés 0/4 500ms 1552 KiB
5 Időlimit túllépés 0/4 467ms 2484 KiB
6 Időlimit túllépés 0/4 469ms 2568 KiB
7 Időlimit túllépés 0/4 470ms 2668 KiB
8 Hibás válasz 0/4 3ms 2904 KiB
9 Időlimit túllépés 0/4 500ms 3124 KiB
10 Időlimit túllépés 0/4 453ms 3200 KiB
11 Időlimit túllépés 0/4 458ms 3692 KiB
12 Időlimit túllépés 0/4 469ms 3752 KiB
13 Elfogadva 4/4 6ms 5488 KiB
14 Időlimit túllépés 0/4 500ms 3956 KiB
15 Időlimit túllépés 0/4 437ms 4028 KiB
16 Időlimit túllépés 0/4 483ms 4600 KiB
17 Időlimit túllépés 0/4 458ms 4484 KiB
18 Időlimit túllépés 0/4 465ms 4528 KiB
19 Időlimit túllépés 0/4 479ms 4440 KiB
20 Időlimit túllépés 0/4 462ms 4596 KiB
21 Időlimit túllépés 0/4 455ms 4512 KiB
22 Időlimit túllépés 0/4 470ms 4700 KiB