73042024-01-06 16:02:41KristófTakaros Sorozat (80 pont)cpp17Hibás válasz 6/80500ms3968 KiB
#include <iostream>

using namespace std;

int main()
{
    int n;
    bool ell=false;
    bool ell2=false;
    cin>>n;
    int s[n];
    int s2[n];
    for (int i=0;i<n;i++){
        cin>>s[i];
        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;
        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;
bool end2=false;
    int m2=0;
    if(s2[0]==0){
        m2++;
    }
    while(end2==false){
        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++;
                break;
            }
        }
        for(int i=m2;i<n-1;i++){
            if(s2[i]+s[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;
                break;
            }
            end2=true;
        }
    }
    cout<<ans2<<endl;



    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base6/80
1Hibás válasz0/03ms1872 KiB
2Időlimit túllépés0/0500ms1984 KiB
3Elfogadva4/43ms2276 KiB
4Hibás válasz0/43ms2676 KiB
5Részben helyes2/43ms2704 KiB
6Hibás válasz0/43ms2780 KiB
7Hibás válasz0/43ms2920 KiB
8Hibás válasz0/42ms3008 KiB
9Hibás válasz0/42ms3068 KiB
10Hibás válasz0/42ms3064 KiB
11Hibás válasz0/43ms3312 KiB
12Hibás válasz0/43ms3284 KiB
13Időlimit túllépés0/4500ms3128 KiB
14Időlimit túllépés0/4437ms3188 KiB
15Időlimit túllépés0/4469ms3520 KiB
16Időlimit túllépés0/4469ms3520 KiB
17Időlimit túllépés0/4453ms3572 KiB
18Időlimit túllépés0/4469ms3516 KiB
19Időlimit túllépés0/4481ms3404 KiB
20Időlimit túllépés0/4474ms3468 KiB
21Időlimit túllépés0/4469ms3664 KiB
22Időlimit túllépés0/4437ms3968 KiB