• Codeforces Round #398 (Div. 2) B. The Queue 思维


    B. The Queue

    链接:

    http://codeforces.com/contest/767/problem/B

    题解:

    肯定要在某个人前一秒到达,到的更早没有意义,到的更晚就被他抢先了。 
    这样可以O(n)枚举一遍解决。 
    但是要考虑各种情况,比如在所有人之后到、别人到的时间都不在规定时间内。

    代码:

     1 #include <map>
     2 #include <set>
     3 #include <cmath>
     4 #include <queue>
     5 #include <stack>
     6 #include <cstdio>
     7 #include <string>
     8 #include <vector>
     9 #include <cstring>
    10 #include <iostream>
    11 #include <algorithm>
    12 #include <functional>
    13 using namespace std;
    14 #define rep(i,a,n) for (int i=a;i<=n;i++)
    15 #define per(i,a,n) for (int i=n;i>=a;i--)
    16 #define pb push_back
    17 #define mp make_pair
    18 #define all(x) (x).begin(),(x).end()
    19 #define fi first
    20 #define se second
    21 #define SZ(x) ((int)(x).size())
    22 typedef vector<int> VI;
    23 typedef long long ll;
    24 typedef pair<int, int> PII;
    25 const ll mod = 1000000007;
    26 const double eps = 1e-7;
    27 // head
    28 
    29 const int maxn = 1e5 + 7;
    30 ll a[maxn];
    31 
    32 int main()
    33 {
    34     ll ts, tf, t, n;
    35     cin >> ts >> tf >> t >> n;
    36     rep(i, 1, n) scanf("%I64d", a + i);
    37     ll now = ts, ans, ansv = 1e15;
    38     if (a[1] > now) return 0 * printf("%I64d", now);
    39 
    40     for (int i = 1; i <= n; i++){
    41         if (max(0LL, now - a[i] + 1)<ansv && a[i] - 1 + t <= tf){
    42             ansv = max(0LL, now - a[i] + 1);
    43             ans = a[i] - 1;
    44         }
    45         now = max(now, a[i]) + t;
    46     }
    47     if (now + t <= tf) printf("%I64d
    ", now);
    48     else printf("%I64d
    ", ans);
    49 
    50     return 0;
    51 }
  • 相关阅读:
    linux学习第一周笔记
    三授权六禁令(必背)
    内存复用三种技术
    移动平台路径相关
    unitUnity优化技巧
    游戏开发优化建议
    转载, unity 如何自定义脚本
    unity animation 在播放动画时报错 The animation state Eat could not be played because it couldn't be found!
    unity 学习之前需要做的准备
    xml 操作遇到的坑
  • 原文地址:https://www.cnblogs.com/baocong/p/6431065.html
Copyright © 2020-2023  润新知