143462025-01-10 16:55:09bzyTakaros Sorozat (80 pont)cpp17Hibás válasz 50/804ms804 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
    int n; cin >> n;
    string binary; cin >> binary;
    int ending =n-1;
    int start = 0;
    while(binary[ending] == '1' && ending >= 0) ending--;
    while(binary[start] == '0' && start < n) start++;
    int zeros = 0;
    for(int i = start; i <= ending; i++)
    {
        if(binary[i] == '0') zeros++;
    }
    if(ending < start) cout << 0 << "\n";
    else{
        cout << min(ending - start + 1 - zeros, zeros) << "\n";
    }
    int ans1 = 0;
    int ans2 = 0;
    for(int i = 0; i <= ending; i++){
        if(binary[i] == '1'){
            int zero=0, one=1;
            if(binary[i+1] == '0' && i+1 < n) zero++;
            else one++;
            if(binary[i+2] == '0' &&  i+2 < n) zero++;
            else one++;
            if(binary[i+3] == '0'  &&  i+3 < n) zero++;
            else one++;
            if(zero == 2 && one == 2)
            {
                ans1++;
                i+=3;
            }
            else ans1++;
        }
    }
    for(int i = start; i < n; i++){
        if(binary[i] == '0')
        {
            int zero=0, one=1;
            if(binary[i+1] == '0'  &&  i+1 < n) zero++;
            else one++;
            if(binary[i+2] == '0'  &&  i+2 < n) zero++;
            else one++;
            if(binary[i+3] == '0'  &&  i+3 < n) zero++;
            else one++;
            if(zero == 2 && one == 2)
            {
                ans2++;
                i+=3;
            }
            else ans2++;
        }
    }
    cout << min(ans1, ans2);
	return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/80
1Elfogadva0/01ms508 KiB
2Hibás válasz0/04ms564 KiB
3Elfogadva4/41ms316 KiB
4Elfogadva4/41ms316 KiB
5Elfogadva4/41ms316 KiB
6Elfogadva4/41ms316 KiB
7Részben helyes2/41ms548 KiB
8Elfogadva4/41ms316 KiB
9Részben helyes2/41ms508 KiB
10Elfogadva4/41ms316 KiB
11Részben helyes2/41ms316 KiB
12Részben helyes2/41ms316 KiB
13Elfogadva4/43ms564 KiB
14Részben helyes2/43ms444 KiB
15Elfogadva4/44ms564 KiB
16Részben helyes2/43ms624 KiB
17Részben helyes2/43ms508 KiB
18Részben helyes2/44ms564 KiB
19Részben helyes2/43ms608 KiB
20Hibás válasz0/44ms564 KiB
21Hibás válasz0/44ms564 KiB
22Hibás válasz0/44ms804 KiB