我们城市最高的建筑物只有一部电梯。请求列表由N个正数组成。这些数字表示电梯将按指定顺序停在哪个楼层。将电梯向上移动一层需要6秒,向下移动一层需要4秒。电梯在每一站停留5秒钟。
对于给定的请求列表,您需要计算完成列表上的请求所花费的总时间。电梯开始时位于第0层,满足要求后无需返回底层。
输入规格:
每个输入文件包含一个测试用例。每个案例都包含一个正整数N,后跟N个正数。输入中的所有数字都小于100。
输出规格:
对于每个测试用例,在单行上打印总时间。
样本输入:
3 2 3 1
样本输出:
41
一、这一次学到的是如何读入数据
读入这一行的数据,只要不换行就接着读入,判断条件为(c=getchar())!='\n',将读入的字符c写入数组a中。
二、第一次提交得了十七分,请教之后发现
是数组的空间分配少了
#include<iostream>
using namespace std;
int main()
{
int a[101];
int i = 0;
char c;
cin>>a[i++];
while((c=getchar())!='\n')
{
cin>>a[i++];
}
int num=a[0];
int sum=0;
sum+=num*5+a[1]*6;
for(int j=1;j<num;j++)
{
if(a[j]<a[j+1])
{
sum+=6*(a[j+1]-a[j]);
}
else if(a[j]>=a[j+1])
{
sum+=4*(a[j]-a[j+1]);
}
}
cout<<sum;
return 0;
}
最后运行成功!