• Wash Gym


    Wash Gym - 101206B 

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <cstring>
     4 #include <string>
     5 #include <vector>
     6 #include <map>
     7 #include <set>
     8 #include <list>
     9 #include <deque>
    10 #include <queue>
    11 #include <stack>
    12 #include <cstdlib>
    13 #include <cstdio>
    14 #include <cmath>
    15 #include <iomanip>
    16 #define ull unsigned long long
    17 #define ll long long
    18 #define pb push_back
    19 #define tle ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
    20 using namespace std;
    21 const int mod = 998244353;
    22 const int mxn = 1e6 +7;
    23 ll _,n,m,t,k,u,v,ans,cnt,ok,lim;
    24 ll w[mxn] , cost[mxn] ,  far[mxn] , siz[mxn];
    25 char ch;
    26 #define lc now<<1
    27 #define rc now<<1|1
    28 string str ;
    29 ll a[mxn];
    30 struct node
    31 {
    32     ll x,y;
    33     bool operator <(const node & a) const {
    34         return x>a.x;
    35     }
    36 }tmp;
    37 priority_queue<node>q,p;
    38 int main()
    39 {tle;
    40     int Case = 1 ;
    41     for(cin>>t;t;t--)
    42     {
    43         cin>>k>>n>>m;
    44         while(!q.empty()) q.pop();
    45         while(!p.empty()) p.pop();
    46         for(int i=1;i<=n;i++)
    47         {
    48             cin>>u;
    49             q.push({u,u});
    50         }
    51         for(int i=1;i<=m;i++)
    52         {
    53             cin>>u;
    54             p.push({u,u});
    55         }
    56         for(int i=1;i<=k;i++) /// 记录分别洗完L箱衣服的时间
    57         {
    58             tmp = q.top() ; q.pop() ;/// 每次选择最早结束的机器,因为
    59             a[i] = tmp.x ;
    60             q.push( {tmp.x+tmp.y,tmp.y} );/// 将洗完下一箱衣服的时间压进去
    61         }
    62 
    63         ll ans = 0 ;
    64         for(int i=k;i>=1;i--)
    65         {
    66             tmp = p.top(); p.pop() ;
    67             ans = max(ans,tmp.x+a[i]);
    68             p.push({tmp.x+tmp.y,tmp.y});
    69         }
    70         cout<<"Case #"<<Case++<<": "<<ans<<endl;
    71     }
    72 }
    /// 逆序的原因可以这样想,如果先烘干先洗完的,那么,最后一个一定是满时间烘干,
    /// 而如果我们把最早洗完的用最慢的烘干机烘干,时间就会短很多
    /// 也就是最长烘干时间+最短洗涤时间即为完成最短时间
    所遇皆星河
  • 相关阅读:
    Android中ProgressDialog的应用
    Content的startActivity方法需添加FLAG_ACTIVITY_NEW_TASK flag
    android onKeydown
    8 个最优秀的 Android Studio 插件
    Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
    Android提供的LruCache类简介
    Android设计中的.9.png与Android Studio中的设置
    js实现双击后网页自己主动跑-------Day55
    Oracle经常使用函数
    《R实战》读书笔记三
  • 原文地址:https://www.cnblogs.com/Shallow-dream/p/12833325.html
Copyright © 2020-2023  润新知