1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <stdio.h>
#include <math.h> 
using namespace std;

int main()
{
	long long result = 0;
	long n = 0;
	char a[300000];
	char ai[11];
	long da = 1;
	scanf("%ld", &n);
	a[0] = '0';
	for (int ni = 0; ni < n; ++ni)
	{
		scanf("%s", ai);
		int i = 0;
		while (ai[i] && (i < da))
		{
			if (ai[i] < a[i])
			{
				while (ai[i])
				{
					a[i] = ai[i];
					++i;
				}
				while (i <= da)
				{
					a[i++] = '0';
					result++;

				}
				da = i++;
				break;
			}
			else
				if (ai[i] > a[i])
				{
					while (ai[i])
					{
						a[i] = ai[i];
						++i;
					}
					while (i < da)
					{
						a[i++] = '0';
						result++;
					}
					da = i++;
					break;
				}
			++i;
		}

		if (i <= da)
		{
			long t = da - 1;

			while (t >= i)
			{
				if (a[t] == '9')
					a[t--] = '0';
				else
				{
					a[t]++;
					break;
				}
			}

			if (t < i)
			{
				a[da] = '0';
				da++;
			}

			result += da - i;
		}
	}
		

	printf("%lld", result);

	return 0;
}