其他分享
首页 > 其他分享> > 题解 - P1204 [USACO1.2]挤牛奶Milking Cows

题解 - P1204 [USACO1.2]挤牛奶Milking Cows

作者:互联网

很水的一道题,但我水了一个小时。。。太弱了啊。

#include <iostream>
using namespace std;
bool ar[1000010];
int main()
{
	int n,l,r,MAXRR = 0,MINLL = 1000010;
	cin >> n;
	while(n--)
	{
		cin >> l >> r;
		MAXRR = max(MAXRR,r);
		MINLL = min(MINLL,l);
		for(int i = l; i < r; ++i)ar[i]=1;
	}
	int ans = 0, ans2 = 0, t = 0;
	//切记不可以t = 1。应为如果 t = 1,因为MINLL一定有数,且数值为1,会导致ans2被更新为1,实际上它应为0;
        //或者也可以将t赋值为1,则下面的i要从 MINLL + 1 开始。
	for(int i = MINLL; i <= MAXRR; ++i)
	{
		if(ar[i] == ar[i-1])t++;
		else{
			ar[i] == 1 ? ans2 = max(ans2,t) : ans = max(ans,t);
			t = 1;
		}
	}
//	cout << MAXRR << endl;
	cout << ans << " " << ans2;
	return 0;
 } 

标签:USACO1.2,1000010,int,题解,ans2,MAXRR,MINLL,Milking,ar
来源: https://www.cnblogs.com/Edge-coordinates/p/15651459.html