zoukankan      html  css  js  c++  java
  • [CF767B] The Queue

    [CF767B] The Queue - 贪心

    Description

    接待员在午夜Ts分钟时开始工作,并在午夜Tf分钟后关闭。对于每个来访者,Vasya都知道他何时会来到护照办公室。每个访客排队等候,直到被服务才离开。如果Vasya和其他几个来访者同时到达护照办公室,他会向他们让步,并作为最后一名之后站在队伍中。Vasya想找到一个适合的时间,使得接待员会服务他,并且他会花费最少的时间在队伍中。

    Solution

    除非踩着最后一个人走了的时候进去(或者最开始),否则踩在一个人到的前一秒去一定不会更坏

    枚举每个人,用他到达时刻的前一秒来试一试

    我们需要维护之前的那些人完成的最晚时间,与新到达的这个人的时间 -1 取最小值,作为一个备选的时间

    如果这个备选时间进去做完还没下班,我们就找到了一种方案,考虑更新答案

    #include <bits/stdc++.h>
    using namespace std;
    #define int long long
    signed main()
    {
        int t_begin, t_end, t_serv, n;
        cin >> t_begin >> t_end >> t_serv >> n;
        int t_last = t_begin;
        int ans = 1e18;
        int ansval = 1e18;
        for (int i = 1; i <= n; i++)
        {
            int t_visitor;
            cin >> t_visitor;
            if (t_visitor + t_serv > t_end)
                break;
            if (t_last + t_serv <= t_end && t_last - t_visitor + 1 <= ansval)
            {
                ansval = t_last - t_visitor + 1;
                ans = min(t_last, t_visitor - 1);
            }
            t_last = max(t_last, t_visitor) + t_serv;
        }
        if (t_last + t_serv <= t_end)
            ans = t_last;
        cout << ans;
    }
    
  • 相关阅读:
    Hyper-V自定义专用网络网段
    mongodb导入,导出实例
    kafka介绍二 快速开始
    常用代理IP服务商
    kafka介绍一
    链接汇总
    心态,决定你的人生
    hibernate入门(三)hibernate的三种状态解析
    hibernate入门(二)一级缓存和三种状态解析
    css动画之颤动的动画
  • 原文地址:https://www.cnblogs.com/mollnn/p/14447476.html
Copyright © 2011-2022 走看看