在黑暗深处,心怡女巫有一座魔法城堡,传说这个城堡会带来无尽的财富,因此人们成群结队的闯入城堡。但这个城堡有一种魔力,每次只允许进入一个闯入者,并且会将闯入者随机传送到城堡的某一层,城堡一楼和顶楼各有一个出口,假设上一层楼和下一层楼的时间相同。现在闯入者需要用最短的时间达到上出口或下出口,否则将会受到心怡女巫的诅咒。
现在聪明的你请帮忙计算这群闯入者所需要花费的总时间
输入描述:
第一行有两个整数n, m,t,1≤n,m≤1000,1≤t≤10)
n为闯入者人数,m为城堡层数,t为上或下一层楼所需要的时间。
第二行有nn个整数分别表示每个闯入者被传送到的楼层。
输出描述:
输出占一行,表示这群闯入者出去所需要花费的总时间。
5 5 2
1 2 3 4 5
遍历n个人,计算层数距离上面近还是下面近,找距离最近的,然后乘以时间,把所有人的时间累加就和即可。代码如下:
#include <stdio.h>
int main()
{
int n,m,t;
int i,tmp,f;
int sum = 0;
scanf("%d %d %d",&n,&m,&t);
for(i=0;i<n;i++)
{
scanf("%d",&f); //读取进入的层数
if((f-1) < (m-f) )
sum += (f-1)*t;
else
sum += (m-f)*t;
}
printf("%d",sum);//输出总时间
return 0;
}