zoukankan      html  css  js  c++  java
  • 洛谷 P2684 搞清洁

    题目描述

    FJ准备分配它的N只奶牛(1 <= N <= 25,000) 做清洁工作,他把一天分成T(1 <= T <= 1,000,000)个时间段,他希望每一个时间段都有奶牛在清洁,但搞清洁的奶牛数越少越好。

    输入输出格式

    输入格式:

     

    第一行,两下整数N和T。

    接下来N行,每行两个整数,表示第i头奶牛能工作的时间段。

     

    输出格式:

     

    使每一个时间段都有奶牛工作的最少奶牛数,如果不可能,则输出-1。

     

    输入输出样例

    输入样例#1: 复制
    3 10
    1 7
    3 6
    8 10
    
    输出样例#1: 复制
    2
    
    

    说明

    样例解释:

    有3头奶牛,第1头能工作的时间段是1至7,即从时间1开始工作,时间7结束(时间7也在工作的),第2头是3-6,第3头是8-10,则只需要第1头和第3头奶牛就能使每一个时间都有奶牛工作。

    思路:此题卡我的map

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm> 
    using namespace std;
    int n,m,a[1000010];
    int temp,start,end,sum; 
    int main(){
        cin>>n>>m;
        for(int i=1;i<=n;i++){
            int t,t1;
            cin>>t>>t1;
            if(a[t]<t1)    a[t]=t1;
        }
        while(temp<m){
            for(int i=start+1;i<=end+1;i++)
                if(temp<a[i])    temp=a[i];
            if(temp<end+1){
                cout<<-1;
                return 0;
            }
            start=end;
            end=temp;
            sum++;
        }
        cout<<sum;
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    waitkey();
    一、数组--删除排序数组中的重复项
    core组件进阶
    opencv数据结构与基本绘图
    highGUI图形用户界面
    合并两个有序链表
    字符串
    内存
    9位运算
    8设备文件
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7966424.html
Copyright © 2011-2022 走看看