1385 挤牛奶

USACO

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 青铜 Bronze
 查看运行结果
 
 
题目描述 Description

三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶。第一个农民在300时刻(从5点开始计时,秒为单位)给他的牛挤奶,一直到1000时刻。第二个农民在700时刻开始,在 1200时刻结束。第三个农民在1500时刻开始2100时刻结束。期间最长的至少有一个农民在挤奶的连续时间为900秒(从300时刻到1200时刻),而最长的无人挤奶的连续时间(从挤奶开始一直到挤奶结束)为300秒(从1200时刻到1500时刻)。

你的任务是编一个程序,读入一个有N个农民(1 <= N <= 5000)挤N头牛的工作时间列表,计算以下两点(均以秒为单位):

最长至少有一人在挤奶的时间段。
最长的无人挤奶的时间段。 
输入描述 Input Description

Line 1:

一个整数N。

Lines 2..N+1:

每行两个小于1000000的非负整数,表示一个农民的开始时刻与结束时刻。

输出描述 Output Description

一行,两个整数,即题目所要求的两个答案。

样例输入 Sample Input

3
300 1000
700 1200
1500 2100
 

样例输出 Sample Output

900 300

数据范围及提示 Data Size & Hint
 

本来想用个高大上的做法来做来

结果wa了一下午!!

枚举!!!

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define N  1000010
using namespace std;
int n,s1=999999999,s2,ans1,ans2,sum1,sum2;
int begin,end,a[N];
int read()
{
	int x=0,f=1; char ch=getchar();
	while(ch<'0'||ch>'9'){if(ch=='-') f=-1; ch=getchar();}
	while(ch<='9'&&ch>='0'){x=x*10+ch-'0'; ch=getchar();}
	return x*f;
}
int main()
{
	n=read();
	for(int i=1;i<=n;i++)
	{
		begin=read(),end=read();
		for(int j=begin;j<end;j++)
		 a[j]=1;
		s1=min(s1,begin);
		s2=max(s2,end);
	}
	for(int i=s1;i<=s2;i++)
	{
		if(a[i]==1)
		{
			ans2=max(ans2,sum2);
			sum2=0;
			sum1++;
		}
		else
		{
			ans1=max(ans1,sum1);
			sum1=0;
			sum2++;
		}
	}
	printf("%d %d",ans1,ans2);
	return 0;
}

  

最新文章

  1. [转载]python property
  2. c#保留小数点后位数的方法
  3. Unity 3D学习之 Prime31 Game Center插件用法
  4. Sql server之路 (一)基础学习
  5. openpgp和gnupg
  6. select into from 和 insert into select 的用法和区别
  7. 改善用户体验之wordpress添加图片弹出层效果 (插件 FancyBox)
  8. Android 开发环境搭建9传送帖)
  9. PHP文件访问技术
  10. CF #401 (Div. 2) C.Alyona and Spreadsheet (思维)
  11. Java IO编程全解(四)——NIO编程
  12. 常用CTPN、CRNN文本检测识别框架
  13. 题目1442:A sequence of numbers(数列计算以及二分求幂运用)
  14. tracteroute路由追踪
  15. warning LNK4099: PDB 原因及解决方案
  16. .NET中的异常处理机制(一)
  17. 通过批处理命令for提取数据
  18. ABAP术语-Business Object Builder
  19. Uuuuuunity
  20. 12.Hamming Distance(汉明距离)

热门文章

  1. hihocoder编程练习赛52-2 亮灯方案
  2. 移动端 H5 拍照 从手机选择图片,移动端预览,图片压缩,图片预览,再上传服务器
  3. linux下redis安装访问
  4. ASP.NET控件的ID,ClientID,UniqueId的区别
  5. js 类似于移动端购物车删除,左移动删除
  6. 异步编程when.js
  7. ARP是如何工作的?
  8. print reverse &lt;&gt; 是打印全部的文件内容 ?
  9. socket编程(Java实现)
  10. Java格式化CST时间(mysql date类型)