`
bbsunchen
  • 浏览: 230690 次
  • 性别: Icon_minigender_1
  • 来自: 天朝帝都
社区版块
存档分类
最新评论

USACO MilkingCow源码

 
阅读更多
/*
ID: bbsunch2
PROG: milk2
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
#include <map>

using namespace std;

int main() {
    ofstream fout ("milk2.out");
    ifstream fin ("milk2.in");
    map<int, int> startPoint_endPoint;
    int pairNum = 0;
    fin >> pairNum;

    for(int i = 0; i < pairNum; i++)
    {
        int startPoint;
        int endPoint;
        fin >> startPoint >> endPoint;
        startPoint_endPoint.insert(pair<int, int>(startPoint, endPoint));
    }
    //cout << startPoint_endPoint.size() << endl;
    map<int,int>::iterator it;
    int formerStart = 0;
    int formerEnd = 0;
    int currentStart = 0;
    int currentEnd = 0;
    bool firstLine = true;

    for(it = startPoint_endPoint.begin(); it!=startPoint_endPoint.end(); it++)
    {
        if(firstLine)
        {
            firstLine = false;
            formerStart = it->first;
            formerEnd = it->second;
            continue;
        }
        currentStart = it->first;
        currentEnd = it->second;
        if(currentStart <= formerEnd)
        {
            startPoint_endPoint.erase(formerStart);
            startPoint_endPoint.erase(currentStart);
            int toInsertEnd = currentEnd;
            if(toInsertEnd < formerEnd)
            {
                toInsertEnd = formerEnd;
            }
            formerEnd = toInsertEnd;
            startPoint_endPoint.insert(pair<int, int>(formerStart,toInsertEnd));
        }else
        {
            formerStart = currentStart;
            formerEnd = currentEnd;
        }
    }

    formerEnd = 0;
    firstLine = true;
    int maxBusy = 0;
    int maxLeisure = 0;
    for(it = startPoint_endPoint.begin(); it!=startPoint_endPoint.end(); it++)
    {
        //cout << it->first << " " << it->second << endl;
        if(firstLine)
        {
            firstLine = false;
            formerEnd = it->second;
            maxBusy = it->second - it->first;
            continue;
        }
        int currentBusy = it->second - it->first;
        if(maxBusy < currentBusy)
        {
            maxBusy = currentBusy;
        }
        int currentLeisure = it->first - formerEnd;
        if(maxLeisure < currentLeisure)
        {
            maxLeisure = currentLeisure;
        }
        formerEnd = it->second;
    }
    fout << maxBusy << " " << maxLeisure << endl;
	return 0;
}

 

0
0
分享到:
评论

相关推荐

    usaco.rar_USACO 翻译 下载_usaco _usaco 翻译

    USACO,全称为United States阿Olympiad in Informatics,是美国计算机奥林匹克竞赛,旨在为高中生提供一个学习和展示编程技能的平台。这个比赛涵盖了算法、数据结构以及问题解决等多个方面,对于想要深入理解计算机...

    usaco 2010-2011

    ### USACO 2010-2011 季度竞赛概览与关键信息 #### 一、概述 美国计算机奥林匹克(USACO)是面向全球中学生的计算机科学竞赛,旨在发掘并培养计算机科学领域的年轻人才。USACO 2010-2011 季度竞赛于 2010 年 11 月...

    USACO题集及答案

    USACO,全称为United States Computer Olympiad,是一项面向全球中学生的计算机编程竞赛,旨在提升参赛者的算法设计、问题解决和编程能力。该比赛每年举行,分为青铜、白银、黄金和铂金四个级别,难度逐渐递增。...

    usaco_A.rar_NOI_NOIP_usaco

    【源码】在“USACO 题库源码第一部分”中,包含的是USACO比赛题目对应的参考解决方案或参赛者提交的代码,这对于学习者来说是非常宝贵的资源。通过分析这些源码,可以学习到如何运用不同的数据结构和算法来解决实际...

    usaco 合集usaco 合集usaco 合集

    《USACO 合集:全面解析与学习指南》 USACO,全称为USA Computing Olympiad,是一项针对中学生举办的在线编程竞赛,旨在提升参赛者的算法设计和问题解决能力。这个合集提供了丰富的资源,包括英文原题、中文译题、...

    USACO 1.1 c++源程序

    USACO,全称为United States Computer Olympiad,是一项面向中学生的国际性计算机编程竞赛,旨在提升参赛者的算法设计和编程能力。USACO比赛通常使用C++语言进行,因此"USACO 1.1 c++源程序"指的是USACO入门阶段1.1...

    USACO历年比赛测试数据:2004年

    USACO,全称United States Computer Olympiad,是美国计算机奥林匹克竞赛,是一项旨在培养青少年编程技能和算法理解的国际性比赛。这个比赛对于有志于在计算机科学领域深入发展的学生来说,具有很高的学习价值和挑战...

    USACO翻译及题解

    USACO,全称United States Computer Olympiad,是一项面向全球中学生的计算机编程竞赛,旨在提升参赛者在算法设计、问题解决以及计算机科学基础方面的技能。这个压缩包文件提供了丰富的资源,帮助参赛者或学习者更好...

    usaco traning全部数据

    【标题】"usaco traning全部数据" 涉及的是一个编程竞赛训练平台——USACO(USA Computing Olympiad)的数据集。USACO是一个专门为美国中学生设计的在线编程竞赛,旨在提升参赛者的算法设计和编程能力,特别是在解决...

    USACO全部测试数据.zip

    USACO,全称United States阿Olympiad in Computer Science,是美国计算机科学奥林匹克竞赛,旨在激发中学生对计算机科学的兴趣,尤其是算法和编程技能。这个"USACO全部测试数据.zip"压缩包包含了历年来USACO比赛的...

    usaco历年测试数据

    USACO(美国计算机奥林匹克竞赛)是面向全球中学生的一项编程竞赛,主要涉及算法和问题解决能力。这个压缩包文件“usaco历年测试数据”包含了该赛事历年的测试题目和样例输入输出数据,这对于参赛者准备比赛或者提升...

    USACO-Chapter1.rar_it_usaco

    《USACO入门指南——第一章解析》 USACO,全称USA Computing Olympiad,是美国计算机奥林匹克竞赛,旨在培养中学生在算法和编程方面的技能。对于初学者来说,USACO提供了很好的学习路径和挑战。本文将针对USACO的第...

    USACO历年比赛测试数据:2003年

    USACO(USA Computing Olympiad)是美国计算机奥林匹克竞赛,是一项面向中学生的编程竞赛,旨在提升学生的算法设计、编程和问题解决能力。该比赛通常包括训练营和一系列在线比赛,最终选拔出优秀选手代表美国参加...

    usaco历年数据---2001

    标签中包含的关键词:“usaco”、“acm”、“pku”、“测试数据”和“源码”,进一步细化了主题。USACO和ACM都是编程竞赛的名称,而“pku”是比赛的组织者之一。"测试数据"意味着这个压缩包包含了用于检验编程解决...

    USACO题解+代码+翻译

    USACO,全称United States Computer Olympiad,是一项面向全球中学生的计算机编程竞赛,旨在提升参赛者的算法设计、编程能力和问题解决能力。本压缩包包含了USACO比赛的题解、源代码以及对应的中文翻译,对于想要...

    USACO历年比赛测试数据:2005年

    USACO,全称为United States Computer Olympiad,是一项面向美国中学生的编程竞赛,旨在培养青少年在算法设计、问题解决和计算机科学方面的技能。这个压缩包包含的是2005年度USACO比赛的测试数据,对于参赛者或者对...

    USACO全部测试数据

    《USACO全部测试数据详解》 USACO,全称United States Computer Olympiad,是美国计算机奥赛,是一项旨在提升青少年计算机编程能力的竞赛。该竞赛覆盖了基础算法、数据结构、问题解决等多个计算机科学的重要领域,...

    USACO做题代码

    USACO,全称为United States Computer Olympiad,是一项面向中学生的国际性计算机编程竞赛,旨在提升参赛者在算法设计、问题解决以及编程方面的技能。USACO比赛通常包含多个编程题目,参赛者需要使用C++、Java等语言...

    USACO.rar_usaco _usaco doc

    在USACO的训练过程中,"源码"部分尤为重要。每一道题目的解答代码都是学习的好材料,它们展示了如何将理论知识转化为实际的程序实现。通过阅读和理解他人的代码,可以提高自身的编程技巧,理解不同解题思路,学习...

    usaco心得及总结

    ### USACO心得及总结 #### 第一部分 动态规划 **USACO**(美国计算机奥林匹克竞赛)作为一项国际知名的编程竞赛,不仅考验参赛者的编程能力,还对其算法理解和应用有着极高的要求。其中,动态规划(Dynamic ...

Global site tag (gtag.js) - Google Analytics