PAT甲级1008

1008

传送门

这道题很简单,比编程之美上面的都简单,所以也没什么好说的。直接上代码就是

#include <iostream>
using namespace std;
const int UP=6,DOWN=4,KEEP=5;
int main(int agrc,char **argv){
	freopen("num.txt","r",stdin);
	int N,previous_layer,total_time=0;
	cin>>N;
	int *p=new int[N+1];
	for(int i=1;i<=N;i++)
		cin>>p[i];
	p[0]=0;
	previous_layer=p[0];
	for(int i=1;i<=N;i++){
		if(p[i]>previous_layer)
			total_time+=(p[i]-previous_layer)*UP+KEEP;
		if(p[i]==previous_layer)
			total_time+=KEEP;
		if(p[i]<previous_layer)
			total_time+=(previous_layer-p[i])*DOWN+KEEP;
		previous_layer=p[i];
	}
	delete []p;
	cout<<total_time<<endl;
	return 0;
}


你可能感兴趣的:(PAT甲级1008)