PAT (Advanced Level) 1008 Elevator (20 分)
注意:连续两个人都处于同一层,仍需要停留5秒。
Python:
import sys
str_in = input()
a = [int(n) for n in str_in.split()]
#print(a)
n = int(a[0])
res = int(0)
ans = int(0)
for i in range(1, n + 1):
x = int(a[i])
if res > x:
ans += 4 * (res - x) + 5
elif res < x:
ans += 6 * (x - res) + 5
else:
ans += 5
res = x
print(ans)
C++:
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<string>
#include<map>
#include<queue>
#include<vector>
using namespace std;
#define ll long long int
#define INF 0x3f3f3f3f
const int maxn = 1e5 + 10;
int main()
{
int n;
scanf("%d", &n);
int res = 0;
int ans = 0;
int x;
for (int i = 1; i <= n; i++) {
scanf("%d", &x);
if (res < x) {
ans += 6 * (x - res);
}
else if (res > x) {
ans += 4 * (res - x);
}
ans += 5;
res = x;
}
cout << ans << endl;
return 0;
}
//_CRT_SECURE_NO_WARNINGS