3435 - 小明的电梯
可怜的小明,他的住的小区只有一个电梯,大家都知道,只要是有人按得号,电梯都会停,每到一站停止5秒,往上走,走一层需要6秒,往下走一层需要4秒,。我们认为每一次电梯的起始点都在第0层。
对于给出的电梯的层数,你要算出需要的时间。
<br />
题目输入
那里有大量的测试数据<span>N</span><span>,随后有</span><span>N</span><span>个整数,所有的整数都不超过</span><span>100</span><span>,当</span><span>N</span><span>等于</span><span>0</span><span>的时候,程序结束。</span>
<br />
<br />
题目输出
输出每一组所需要的时间;
输入/输出样例
题目输入
1 2 3 2 3 1 0
题目输出
17 41
C语言解答
#include<stdio.h> int n,d,i,s,sum,k; int main() { while(~scanf("%d",&n)&&n) { d=0;sum=0; for(i=1;i<=n;i++) { scanf("%d",&s); k=s-d; if(k>0) sum+=6*k; else sum+=-4*k; d=s; } sum+=n*5; printf("%d\n",sum); } return 0; }
C++解答
#include<stdio.h> int a[105]; int main() { //freopen("1234.txt","r",stdin); //freopen("out.txt","w",stdout); int n; while(scanf("%d",&n)!=EOF) { if(n==0) break; int sum=0; for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) { if(a[i]-a[i-1]>0) sum+=(a[i]-a[i-1])*6; else sum+=(a[i-1]-a[i])*4; } sum+=5*n; printf("%d\n",sum); } return 0; }