#pragma GCC optimize("Ofast") #include #define LL long long int #define ULL unsigned LL #define LD long double #define FI first #define SE second #define PB push_back #define PF push_front #define V vector #define PQ priority_queue #define ALL(x) x.begin(), x.end() #define SZ(x) (int)(x).size() #define FORI(i, a, b) for(int i = a; i < b ; ++i) #define FORD(i, a, b) for(int i = a; i > b ; --i) using namespace std; using pii = pair; int main(){ ifstream cin("freddy.in"); ofstream cout("freddy.out"); // ios_base::sync_with_stdio(false); // cin.tie(NULL); // cout.tie(NULL); mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); clock_t start_t = clock(); int n; string a; cin >> n >> a; V c(1, a[0] - '0'); FORI(i,1,n){ if (a[i] - '0' != c[c.size()-1]){ c.push_back(a[i] - '0'); } } n = c.size(); V pref(n+1, 0); FORI(i,0,n){ pref[i+1] = pref[i] + c[i]; // cout << pref[i+1] << ' '; } int ans = n; FORI(i,0,n){ ans = min(ans, pref[i] + n - i - pref[n] + pref[i]); } cout << ans; return 0; }