三个农民每天清晨5 点起床,然后去牛棚给3 头牛挤奶.第一个农民在300 时刻(从5 点开始计时,
秒为单位)给他的牛挤奶,一直到1000 时刻.第二个农民在700 时刻开始,在 1200 时刻结束.第三个
农民在1500 时刻开始2100 时刻结束.期间最长的至少有一个农民在挤奶的连续时间为900 秒(从
300 时刻到1200 时刻),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300 秒(从
1200 时刻到1500 时刻).
你的任务是编一个程序,读入一个有N 个农民(1 <= N <= 5000)挤N 头牛的工作时间列表,计算以下
两点(均以秒为单位):
• 最长至少有一人在挤奶的时间段.
• 最长的无人挤奶的时间段.
PROGRAM NAME: milk2
INPUT FORMAT
Line 1: 一个整数N.
Lines 2..N+1: 每行两个小于1000000 的非负整数,表示一个农民的开始时刻与结束时刻.
SAMPLE INPUT (file milk2.in)
3
300 1000
700 1200
1500 2100
OUTPUT FORMAT
一行,两个整数,即题目所要求的两个答案.
SAMPLE OUTPUT (file milk2.out)

900 300

/*
ID: letgoto1
PROG: milk2
LANG: C++
*/
#include <iostream>
#include <fstream>
#include <string>
#include<algorithm>using namespace std;const int N = 5000;struct Milk
{Milk():start(0), end(0){}long start, end;
};int cmp(const void *a, const void *b)
{Milk *m1 = (Milk *)a;Milk *m2 = (Milk *)b;return m1->start - m2->start;
}Milk milk[N];int main()
{ofstream fout ("milk2.out");ifstream fin ("milk2.in");unsigned n = 0; //number of peoplefin >> n;//read the dataint i = 0;while(!fin.eof()){fin >> milk[i].start >> milk[i].end;i++;}qsort(milk, n, sizeof(Milk), cmp);long start = milk[0].start, end = milk[0].end;long tOne = end - start, tNone = 0; //tOne is the time of at least one person milkingfor(i = 1; i < n; i++){if(milk[i].start <= end){end = max(milk[i].end, end);}else{if(milk[i].start - end > tNone){tNone = milk[i].start - end;}if(end - start > tOne){tOne = end - start;}start = milk[i].start;end = milk[i].end;}}fout << tOne << " " << tNone;fout <<endl;return 0;
}

【USACO1.2_1】★Milking Cows 挤牛奶相关推荐

  1. Milking Cows 挤牛奶

    1.2.1 Milking Cows 挤牛奶 Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 554  Solved: 108 [Submit][Stat ...

  2. 【USACO题库】1.2.1 Milking Cows挤牛奶

    一开始认为过不了,后来交就AC了. 1007. [USACO题库]1.2.1 Milking Cows挤牛奶 (File IO): input:milk.in output:milk.out 题目描述 ...

  3. [USACO 1.2.1] Milking Cows 挤牛奶

    题目描述 三个农民每天清晨 5 点起床, 然后去牛棚给三头牛挤奶. 第一个农民在 300 秒 (从 5 点开始计时) 给他的牛挤奶, 一直到 1000 秒. 第二个农民在 700 秒开始, 在 120 ...

  4. [USACO 1.2.1] Milking Cows

    [题目描述] Milking Cows 挤牛奶 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻.第二个农民在700 ...

  5. [USACO1.2]挤牛奶Milking Cows

    题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...

  6. 挤牛奶Milking Cows

    挤牛奶Milking Cows 这道题问的是有一条线段覆盖的最大区间和没有线段覆盖的区间. 先按照起点排序,然后从第二条线段开始判断.如果该线段的起点小于上一线段终点,则说明这两条线 段有重合部分,将 ...

  7. USACO_CHA1_挤牛奶

    一.题目描述 链接:https://www.acwing.com/problem/content/1345/ 来源:ACwing 每天早上 5 点,三名农夫去牛场给奶牛们挤奶. 现在从 5 点开始按秒 ...

  8. USACO 1.3.1 挤牛奶

    1.3.1 挤牛奶 题目考查 区间合并 解题思路 我们将所有挤奶的区间按照左端点从小到大排序, 遍历所有区间. 不妨设当前连续的区间为[L, R], 遍历到的新区间为[l, r]. 此时有两种情况: ...

  9. DP地狱训练 挤牛奶

    1257: [DP地狱训练]挤牛奶 时间限制: 1 Sec  内存限制: 64 MB 提交: 917  解决: 260 [提交][状态][讨论版] 题目描述 小卡卡终于帮农夫John找到了走丢的那一头 ...

最新文章

  1. ST为飞行时间传感器增加了多目标测距
  2. ImageView.ScaleType /android:scaleType值的意义区别
  3. 面试官最爱的 volatile 关键字,这些问题你都搞懂了没?
  4. ugui用户定义操作按键
  5. 为了忘却的纪念----开始从操就业的第一个SHELL程序
  6. [转载] Python与其他语言结合的参数转换函数PyArg_ParseTuple()
  7. JSP的9种基本内置组件
  8. jetty快速入门与嵌入使用 jetty
  9. 杭州旅游全攻略,详细!
  10. C语言实现EPSG:4326和EPSG:3857的互转
  11. 【文献阅读】CCNet: Criss-Cross Attention for Semantic Segmentation
  12. 现场总线---can总线
  13. 计算机软件定时运行,Win7打开定时运行程序的方法
  14. c#开发条形码生成器
  15. markdown转html格式
  16. linux里数据库退格,Oracle Database for Linux 不能使用退格键
  17. 抱薪者说 | 薪火相传,薪之不绝,火亦不熄
  18. 一个大学女生发人深省的人生感悟
  19. 【GG-21 5A 100V逆功率继电器】
  20. 基于Java的Minecraft游戏后端自定义插件 06绘制简单粒子特效与BukkitRunable定时器

热门文章

  1. oim(类QQ)开源项目源码阅读笔记(1)——登录部分
  2. php session.cookie_path,php session和cookie使用说明
  3. Homework7_ch5 数据的共享与保护(2)——friend
  4. java 操作 PDF
  5. 非常好看的二次元导航源码
  6. 工行银企互联(NC模式)中间件开发模式
  7. 通达oa 2013 php解密,通达OA2013集团版SQL注入+root
  8. 015 Rust死灵书之Transmutes转换
  9. rtx服务器消息管理器,RTX企业微信插件来了,现在你可以在手机上收发RTX消息
  10. android adb找不到,adb找不到我的设备/手机(MacOS X)