zoukankan      html  css  js  c++  java
  • 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 }
  • 相关阅读:
    memcpy源代码
    XML总结
    javabean总结
    VC++注射过程
    八排序算法
    fscanf功能具体解释
    外行观察者模式
    Android 实现用户列表信息的功能,然后选择删除幻灯片删除功能
    WINHTTP的API接口说明
    poj 1698 Alice&#39;s Chance 拆点最大流
  • 原文地址:https://www.cnblogs.com/baocong/p/6431065.html
Copyright © 2011-2022 走看看