2873: 【例58.3】 电梯运行时间
内存限制:64 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:2
解决:2
题目描述
电梯每向上运行一层需要 $6$ 秒钟,向下运行一层需要 $4$ 秒钟,每开门一次需要 $5$ 秒(如果有人到达才开门),并且每下一个人需要加 $1$秒。
特别指出,电梯最开始在 $0$ 层,并且最后必须再回到 $0$ 层才算一趟任务结束。假设在开始的时候已知电梯内的每个人要去的楼层,你能计算出完成本趟任务需要的总时间吗?
特别指出,电梯最开始在 $0$ 层,并且最后必须再回到 $0$ 层才算一趟任务结束。假设在开始的时候已知电梯内的每个人要去的楼层,你能计算出完成本趟任务需要的总时间吗?
输入
第一行,一个正整数$n$($1 < n < 10^5$),表示乘坐电梯的人数。
第二行,$n$个正整数,$a_i$ ($1 < a_i < 10^7$)表示第i个人要去的楼层。
第二行,$n$个正整数,$a_i$ ($1 < a_i < 10^7$)表示第i个人要去的楼层。
输出
仅一行,一个正整数,表示完成这趟任务需要的时间。
样例输入 复制
4
3 7 3 1
样例输出 复制
89
提示
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a[1000010];
int main()
{
ll n,i;cin>>n;
for ( i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
ll time=a[n-1]*10; //最高层数
time+=(unique(a,a+n)-a)*5; //计算不重复楼层的数目
time+=n;
cout<<time;
return 0;
}