欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

codeforces B. Design Tutorial: Learn from Life

发布时间:2025/3/8 27 豆豆
生活随笔 收集整理的这篇文章主要介绍了 codeforces B. Design Tutorial: Learn from Life 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

  题意:有一个电梯,每一个人都想乘电梯到达自己想要到达的楼层!
从a层到b层的时间是|a-b|, 乘客上下电梯的时间忽略不计!问最少
需要多少的时间.... 
    这是一道神题啊,自己的思路不知不觉的就按照注解的思路走了,想着
用优先队列模拟一下,可能还是没有模拟好吧,一直哇!但是同学的
优先队列模拟过了! 没想到是greedy算法简单的几行就解决了!

1 #include<iostream> 2 #include<cmath> 3 #include<cstdio> 4 #include<algorithm> 5 #include<cmath> 6 #include<cstring> 7 #define N 2005 8 using namespace std; 9 10 int f[N]; 11 12 int main(){ 13 int n, k; 14 cin>>n>>k; 15 for(int i=1; i<=n; ++i) 16 cin>>f[i]; 17 sort(f+1, f+n+1, greater<int>()); 18 19 int ans = 0; 20 21 for(int i=1; i<=n; ){//按照最高的楼层排列,将k个人装满电梯,途中让楼层低的人下去! 22 ans += (f[i] - 1)*2;//所有的来回时间就是到达楼层搞的时间的2倍 23 i += k; 24 } 25 cout<<ans<<endl; 26 return 0; 27 } View Code

 

转载于:https://www.cnblogs.com/hujunzheng/p/4000012.html

总结

以上是生活随笔为你收集整理的codeforces B. Design Tutorial: Learn from Life的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。