1006 Problem F

来源:互联网 发布:网络尖兵官网 编辑:程序博客网 时间:2024/05/22 11:39

电梯从零层开始 每上一层耗时6s 下一层耗时4s 在每层停留 5s;不会再回到零层;
先输入一个数N代表停留的楼层数。然后再输入N个数 代表在哪层楼停留。
先初始化time 等于N*5;然后第一个数*6s 以后每一个数与前一个数比较 如果后面的大 time 加两数之差*6 如果前面的数小 time+前面减后的差*4s;
最后的time 就是耗时。

// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。////#include "stdafx.h"#include <iostream>#include<fstream>#include<vector>#include <algorithm>#include<math.h>#include<string.h>using namespace std;int f[100];int main(){    fstream cin("E:/C++/IN/aaa.txt");    int a;    while(cin>>a&&a)    {        int time=a*5;        memset(f,0,100);        for(int i=0;i<a;i++)            cin>>f[i];        time+=f[0]*6;     //   cout<<time<<" ";        for(int i=1;i<a;i++)        {            if(f[i]>f[i-1])time+=(f[i]-f[i-1])*6;            else time+=(f[i-1]-f[i])*4;        }        cout<<time<<endl;    }    return 0;}
1 0
原创粉丝点击