记录编号 73519 评测结果 WWWWWWWWWW
题目名称 [NOIP 2010冲刺十三]迷之阶梯 最终得分 0
用户昵称 Gravatarok 是否通过 未通过
代码语言 C++ 运行时间 0.003 s
提交时间 2013-10-21 20:49:35 内存使用 0.31 MiB
显示代码纯文本
#include <fstream>
using namespace std;
int main()
{
	int i,j,n,a[201]={0},b[201]={500};
	ifstream input("ladder.in");
	ofstream output("ladder.out");
	input>>n;
	for(i=1;i<=n;i++)
	{
		input>>a[i];
		b[i]=99999;
	}
	b[1]=0;
	for(i=1;i<=n;i++)
	{
		for(j=i-1;j>=1;j--)
		{
			if(i==j+1&&b[i]==b[j]+1)
			{
				b[i]=b[j]+1;
			}
			else
			{
				int c=1,d=0;
				for(;c+a[j]<a[i]-a[j];)
				{
					c*=2;
					d++;
				}
				if(d+j+1<=i&&b[i]>b[j+d]+d+1)
				{
					b[i]=b[j+d]+d+1;
				}
			}
		}
		if(b[i]==99999)
		{
			output<<"-1"<<endl;
			return 0;
		}
	}
	if(b[n]==99999) output<<"-1"<<endl;
	else output<<b[n]<<endl;
	input.close();
	output.close();
	return 0;
}