HDU --- 1008 Elevator
来源:互联网 发布:csgo优化帧数参数 编辑:程序博客网 时间:2024/04/27 18:26
int main(){
int a[110],n;
while(scanf("%d",&n)==1){
int sum=0,k;
if(n==0) return 0;
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sum+=(a[0]*6+5);
for(int i=1;i<n;i++){
if(a[i]>a[i-1])
sum+=((a[i]-a[i-1])*6+5);
else if(a[i]==a[i-1])
sum+=5;
else sum+=((a[i-1]-a[i])*4+5);
}
printf("%d\n",sum);
}
return 0;
}
//刚开始做时 把这一正数序列存入数组 并找到数组中最大的数 进而判断上楼最高上到几楼 再根据最后一个元素判断下到几楼 题中样例运行结果对 提交却不对 其实 这样我没有考虑 电梯在同一楼层的情况 如 :4 2 3 3 1 ,3 2 2 2 这类数据
//以下是错误代码 若同时存在二个或多个最大值 则在第一个最大值出现之后 把它当做下楼时间来处理了而不是正常电梯应停留的时间
#include<stdio.h>
int main(){
int a[110],n;
while(scanf("%d",&n)==1){
int d1,d2,d,max=0,k;
if(n==0) return 0;
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=0;i<n;i++){
if(a[i]>max){
max=a[i];
k=i;
}
}
if(k<n){
d1=a[k]*6+k*5;
d2=(a[k]-a[n-1])*4+(n-k)*5;
d=d1+d2;
}
else if(k==n)
d=a[k]*6+(k-1)*5;
printf("%d\n",d);
}
return 0;
}
- HDU 1008 Elevator
- hdu 1008Elevator
- HDU 1008 Elevator
- HDU 1008 Elevator
- hdu 1008 elevator 水
- HDU 1008 Elevator
- Hdu 1008 - Elevator
- HDU 1008 Elevator
- HDU--1008--Elevator
- hdu 1008 Elevator
- HDU-1008 Elevator
- HDU 1008 Elevator
- hdu 1008 Elevator
- Hdu--1008--Elevator
- hdu 1008 Elevator
- hdu 1008 Elevator
- hdu-1008-Elevator
- hdu 1008 Elevator
- Java学习路线
- ios 面试总结
- 机房速度和带宽测试的简单方法
- 第六周作业1——利用哈夫曼编码英文字母表
- Android 数据库
- HDU --- 1008 Elevator
- opencv获取图像感兴趣部分
- Ubuntu 12.04下LAMP环境搭建实录
- Ubuntu-cacti搭建
- 笔记之Ruby(二)
- Java中两种区别不同类型Exception的方法
- SVM&SVR
- 面试经典(8)--树的子结构
- JavaScript学习笔记(一) 基本概念