码迷,mamicode.com
首页 > 其他好文 > 详细

codeforces B. Design Tutorial: Learn from Life

时间:2014-09-29 15:31:41      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   ar   for   

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

bubuko.com,布布扣
 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

 

codeforces B. Design Tutorial: Learn from Life

标签:des   style   blog   http   color   io   os   ar   for   

原文地址:http://www.cnblogs.com/hujunzheng/p/4000012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!