Code Submission Evaluation System Login

CSES - HIIT Open 2018

HIIT Open 2018

Contest start:2018-05-26 11:00:00
Contest end:2018-05-26 16:00:00

Task list | Submit code | Submissions | Messages | Scoreboard | Statistics


History
2018-05-26 11:22:19
Task:Inversions
Sender:KnowYourArchitecture
Submission time:2018-05-26 11:22:19
Status:READY
Result:ACCEPTED

Show test data

Code

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef __int128 lll;
/*
lll powmod(lll a, lll p, lll mod) {
	if(p==0) return 1;
		if(p%2==0) {
			a=powmod(a,p/2,mod);
			return (a*a)%mod;
		}
	}
	return (a*powmod(a,p-1,mod))%mod);
}

void step(ll&x, ll n, ll c){x=(lll)((lll)x*(lll)x+(lll)c)%n;}
void rFactor(ll n, map<ll, ll>& r) {
	while(n%2==0) {
		n/=2;r[2]++;
	}
	if(n==1) return;
	if(isPrime(n))r[n]++;
	else {
		while(1){
			ll x=rand()%n;ll y=x;
			ll c=rand()%n;
			for(ll i=0;i*i<=n;i++){
				step(x,n,c);step(x,n,c);step(y,n,c);
				ll g=__gcd(max(x,y)-min(x,y),n);
				if(g==n)break;
				else if(g>1) {
					rFactor(n/g, r);
					rFactor(g,r);
					return;
				}
			}
		}
	}
}

map<ll,ll> factor(ll n){
	map<ll,ll> ret;
	if(n>1) rFactor(n,ret);
	return ret;
}
*/
int main(){
	string a;
	cin>>a;
	ll ra=0;
	ll rb=0;
	ll i=0;
	for(auto& v : a){
		if((v-'0') == (i&1)) ra++;
		else rb++;
		++i;
	}
	cout<<min(ra,rb)<<'\n';
}