题解 - 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