33 lines
955 B
C++
33 lines
955 B
C++
#include <bits/stdc++.h>
|
||
|
||
using namespace std;
|
||
|
||
int f = 0, maxf = 0, n; //n统计要下的人数,f统计要下的层数
|
||
map<int, bool> fp;
|
||
int j;
|
||
|
||
|
||
int main() {
|
||
ios::sync_with_stdio(false); //读入输出优化的强迫症
|
||
//初始化
|
||
fp.clear();
|
||
//键盘读取n
|
||
cin >> n;
|
||
//循环读取n个人员的数据
|
||
for (int i = 0; i < n; i++) {
|
||
cin >> j;
|
||
//如果此楼层出现过,或者是零层,那么继续下一个
|
||
if (fp[j] || j == 0) continue;
|
||
//计算最高的层数
|
||
if (j > maxf) maxf = j;
|
||
// 标识此层需要开门
|
||
fp[j] = true;
|
||
//开门次数
|
||
f++;
|
||
}
|
||
//输出结果 n:代理n个人,每人下电梯需要1秋,计n秒。
|
||
// 上一层6秒,下一层4秒,就是说一层需要的总时长10秒,计10*maxf
|
||
// f:开一次门需要5秒,计f*5
|
||
cout << n + f * 5 + 10 * maxf;
|
||
return 0;
|
||
} |