思路:
1.首先纵观数据 如果有相同的 证明可以一开始就在一层楼一起下喔!!!
代码如下:
#include<cstdio> #include <iostream> #include<cstring> #include<algorithm> using namespace std; int a[100010]; int main () { long long n,s=0; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } sort(a,a+n); for(int i=0;i<n;i++){ if(a[i]==a[i-1]) s+=1; else s+=6; if(i==0) s+=a[0]*6; if(a[i]>a[i-1]&&i!=0) s+=(a[i]-a[i-1])*6; else if(a[i]<a[i-1]&&i!=0) s+=(a[i-1]-a[i])*4; } s+=a[n-1]*4; cout<<s; return 0; } //电梯每上升需要6秒钟 //电梯每下降一层需要4秒钟 //每开门一次需要5秒 //每下一个人需要加1秒、