7877 2024. 01. 11 16:08:23 Kristóf Takaros Sorozat (80 pont) cpp17 Időlimit túllépés 24/80 500ms 5648 KiB
#include <iostream>

using namespace std;

int main()
{
    int n;
    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];
    }
    int k;
    int v;
    for(int i=0;i<n;i++){
        if(s[i]==1){
            k=i;
            break;
        }
    }
    int egy=0;
    for(int i=n-1;i>-1;i--){
        if(s[i]==0){
            v=i+1;
            break;
        }
    }
    int count=0;
    for(int i=k;i<v;i++){
        if(s[i]==1){
            count++;
        }
    }
    int darab=v-k;
    if(count>=darab-count){
        cout<<count<<endl;
    }
    else {cout<<darab-count<<endl;
        egy++;
    }
    int ans=0;
    for(int i=k;i<v-3;i++){
        egy=0;

        if(darab-count<count){
            egy=1;
        }
        if(s[i]+s[i+1]+s[i+2]+s[i+3]==2){
            s[i]=0;
            s[i+1]=0;
            s[i+2]=0;
            s[i+3]=0;
            if(egy==1){
                s[i]=1;
                s[i+1]=1;
                s[i+2]=1;
                s[i+3]=1;
            }
            ans++;
        }
        int la=0;
        while(s[k]==0){
            k++;
            la++;
        }
        if(la!=0){
        i=k;
        }
        while(v==1){
            v--;
        }
        int l=k;
        count=0;
        darab=v-k;
        while(l<v){
            count+=s[l];
            l++;
        }
    }
    int l=k;
    count=0;
    while(l<v){
            count+=s[l];
            l++;
    }
    if(darab-count<count){
        ans+=darab-count;
    }
    else ans+=count;
    cout<<ans<<endl;



    return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 24/80
1 Elfogadva 0/0 3ms 1808 KiB
2 Időlimit túllépés 0/0 500ms 2316 KiB
3 Részben helyes 2/4 3ms 2216 KiB
4 Elfogadva 4/4 3ms 2428 KiB
5 Részben helyes 2/4 3ms 2668 KiB
6 Részben helyes 2/4 3ms 2824 KiB
7 Hibás válasz 0/4 3ms 2912 KiB
8 Részben helyes 2/4 3ms 3032 KiB
9 Részben helyes 2/4 3ms 2920 KiB
10 Részben helyes 2/4 3ms 3160 KiB
11 Részben helyes 2/4 3ms 3372 KiB
12 Hibás válasz 0/4 3ms 3492 KiB
13 Elfogadva 4/4 4ms 5152 KiB
14 Időlimit túllépés 0/4 500ms 3588 KiB
15 Időlimit túllépés 0/4 462ms 3920 KiB
16 Időlimit túllépés 0/4 449ms 4140 KiB
17 Részben helyes 2/4 6ms 5648 KiB
18 Időlimit túllépés 0/4 500ms 4268 KiB
19 Időlimit túllépés 0/4 453ms 4532 KiB
20 Időlimit túllépés 0/4 458ms 4564 KiB
21 Időlimit túllépés 0/4 469ms 4636 KiB
22 Időlimit túllépés 0/4 472ms 4584 KiB