zoukankan      html  css  js  c++  java
  • Testing Round #12 B

    Description

    A restaurant received n orders for the rental. Each rental order reserve the restaurant for a continuous period of time, the i-th order is characterized by two time values — the start time li and the finish time ri (li ≤ ri).

    Restaurant management can accept and reject orders. What is the maximal number of orders the restaurant can accept?

    No two accepted orders can intersect, i.e. they can't share even a moment of time. If one order ends in the moment other starts, they can't be accepted both.

    Input

    The first line contains integer number n (1 ≤ n ≤ 5·105) — number of orders. The following n lines contain integer values li and ri each (1 ≤ li ≤ ri ≤ 109).

    Output

    Print the maximal number of orders that can be accepted.

    Examples
    input
    2
    7 11
    4 7
    output
    1
    input
    5
    1 2
    2 3
    3 4
    4 5
    5 6
    output
    3
    input
    6
    4 8
    1 5
    4 7
    2 5
    1 3
    6 8
    output
    2
    贪心,求最多的不相交线段
    #include<bits/stdc++.h>
    using namespace std;
    struct P
    {
        int s,e;
    }He[5*100000];
    bool cmd(P x,P y)
    {
        return x.e<y.e;
    }
    int main()
    {
        int n;
        cin>>n;
        for(int i=0;i<n;i++)
        {
            cin>>He[i].s>>He[i].e;
        }
        sort(He,He+n,cmd);
        int sum=He[0].e;
        int pos=1;
        for(int i=0;i<n;i++)
        {
            if(He[i].s>sum)
            {
                sum=He[i].e;
                pos++;
            }
        }
        cout<<pos<<endl;
        return 0;
    }
    

      

  • 相关阅读:
    我所经历的大文件数据导出(后台执行,自动生成)
    snowflake ID生成器
    docker搭建php环境
    全局唯一随机邀请码实现方式
    sitemap xml文件生成
    浏览器输入一个地址的过程分析
    DNS解析全过程分析
    nginx编译安装on mac
    nginx image_filter 配置记录
    ImageMagick简单记录
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/5679067.html
Copyright © 2011-2022 走看看