zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    JAVA线程池
    数据库三范式和反三范式
    nvm切换node的版本
    vue源码解析一
    css实现气泡样式
    openlayer 地图实现圈选框选清楚 选择地图区域
    vs code开发常用插件
    记录几个好用的工具
    03 使用css改变页面样式
    02 常用的html元素
  • 原文地址:https://www.cnblogs.com/hujunzheng/p/4000012.html
Copyright © 2011-2022 走看看