zoukankan      html  css  js  c++  java
  • A-坐飞机

    链接:https://ac.nowcoder.com/acm/contest/892/A

    题意:

    鸡尾酒要去很多很多地方玩,于是他一次买了 n 张机票,初始鸡尾酒在第一个城市,对于任意的i(1in)i(1≤i≤n),第 i 张机票可以从第 i 个城市飞到第 i+1 个城市。且起飞时间和降落时间分别为ai,bi。。为了在一班飞机到站后能赶上下一班飞机,鸡尾酒在买机票的时候保证对于 任意的 i 和 i+1,有aibiai+1bi+1ai≤bi≤ai+1≤bi+1
    但是由于不可抗力,某些飞机会晚点。如果对于某张机票 i(1in)i(1≤i≤n),机票的实际降落时间ci满足ci>ai+1ci>ai+1,鸡尾酒则会认为这是航班之间的一个弟弟配合。 所有飞机的起飞降落的时间点均为整数。已知所有飞机总晚点时间之和为 t,求最多会有多少组航班之间的弟弟配合。
    对晚点的定义: 假如某个飞机晚点时间为 x,则它的起飞时间不变,降落时间延后 x

    思路:

    贪心, 取后一班航班起飞时间和上一班航班落地时间的差值,贪心排序即可。

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    typedef long long LL;
    
    const int MAXN = 1e5+10;
    int Up[MAXN], Down[MAXN];
    
    int main()
    {
        int n, t;
        cin >> n >> t;
        for (int i = 1;i <= n;i++)
            cin >> Up[i] >> Down[i];
        vector<int> time;
        for (int i = 2;i <= n;i++)
            time.push_back(Up[i]-Down[i-1]+1);
        sort(time.begin(), time.end());
        int res = 0;
        for (int i = 0;i < time.size();i++)
        {
            if (t >= time[i])
                res++, t -= time[i];
            else
                break;
        }
        cout << res << endl;
    
        return 0;
    }
    

      

  • 相关阅读:
    事件总线demo
    软件架构分类(转载)
    ASP.NET MVC 使用 Datatables (2)
    ASP.NET MVC 使用 Datatables (1)
    查看win10的激活信息和版本号
    2016年工作计划
    通俗粗暴的事件委托理解
    matplotlib系列——条形图
    matplotlib系列——折线图
    使用pip安装python模块和包
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10851263.html
Copyright © 2011-2022 走看看