#include <iostream>
#include <vector> //引入向量，一种顺序容器
using namespace std;

int main()
{
	vector<int> height;
	int number, len, i, left_i=-1, right_i=-1, border_i=-1, low_border;
	int s = 0, border = 0;
	cout << "请依次输入柱子高度：" << endl;
	while (true)
	{
		cin >> number;
		height.push_back(number);
		if (cin.get() == '\n')
			break;
	}
	len = height.size();
	//左边界
	for ( i = 0; i < len; i++)
	{
		if (height[i]!=0)
		{
			left_i = i;
			break;
		}
	}
	if (left_i==-1)
	{
		cout << "可以接0个单位的青豆" << endl;
		exit(0);
	}
	//右边界
	for ( i = len-1; i > left_i; i--)
	{
		if (height[i] != 0)
		{
			right_i = i;
			break;
		}
	}
	if (right_i == -1)
	{
		cout << "可以接0个单位的青豆"<<endl;
		exit(0);
	}
	//找到最近最高边界
	while (left_i!=right_i)
	{
		for (i = left_i+1; i <= right_i; i++)
		{
			if (height[i] > height[left_i])
			{
				border_i = i;
				low_border = height[left_i];
				break;
			}
			else
			{
				if (height[i] > border)
				{
					border = height[i];
					border_i = i;
					low_border = border;
				}
			}
		}
    //累加面积
		for (i = left_i + 1; i < border_i; i++)
		{
			s = s + low_border - height[i];
		}
		left_i = border_i;
		border = 0;
	}
	cout << "可以接" << s << "个单位的青豆" << endl;
	return 0;
}