#include <bits/stdc++.h>
using namespace std;
const int MAXN=1000010;
int N,F[MAXN][2];char s[MAXN];
int main()
{
	scanf("%s",s+1);
	N=strlen(s+1);
	F[N][0]=s[N]-'0';
	F[N][1]=10-(s[N]-'0');
	for (int i=N-1;i;--i)
	{
		int v=s[i]-'0';
		F[i][0]=F[i+1][0]+v;
		if (v!=9) F[i][0]=min(F[i][0],F[i+1][1]+1+v);
		F[i][1]=F[i+1][0]+10-v;
		if (v==9) F[i][1]=min(F[i][1],F[i+1][1]);
		else F[i][1]=min(F[i][1],F[i+1][1]+10-(v+1));
	}
	cout<<min(F[1][0],F[1][1]+1)<<endl;
	return 0;
} 