https://www.patest.cn/contests/pat-a-practise/1008
水题,题目很简单,思路直接照着描述的计算就行,边输入边计算,算法复杂度O(N)
坑点:注意同样的楼层可能连续出现多次,不能当做一个楼层处理。
代码如下:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(void)
{
string line;
while(getline(cin, line))
{
int num, sum = 0, n, b = 0;
stringstream ss(line);
ss >> num;
for(int i = 0; i < num; i++)
{
n = b;
ss >> b;
//if(n != b)
sum += n - b < 0 ? (n - b) * -6 + 5 : 4 * (n - b) + 5;
}
cout << sum << endl;
}
return 0;
}