测试点5就是过不去啊,答案是20000,我是19999

P1204 [USACO1.2] 挤牛奶Milking Cows

第5个点要打表
by rxzfn @ 2017-09-24 21:40:54


```cpp #include<bits/stdc++.h> using namespace std; int shi[1000008]; int n,beg,en,max1=0,max2=0; int main() { int a,b,i,j; memset(shi,0,sizeof(shi)); cin>>n; for(i=1;i<=n;i++) { cin>>a>>b; for(;a<b;a++) shi[a]=1; } for(i=0;i<=1000000;i++)//注意!!非负整数,包含0,下标从0开始 { if(shi[i]==1) { beg=i; break; } } for(i=1000000;i>=1;i--) { if(shi[i]==1) { en=i+1; break; } } for(i=beg;i<=en;i++) { if(shi[beg]==1) { for(j=beg;j<=en;j++) { if(shi[j]==0) { max1=max(max1,j-beg); i=j; beg=j; break; } } } if(shi[beg]==0) { for(j=beg;j<=en;j++) { if(shi[j]==1) { max2=max(max2,j-beg); i=j; beg=i; break; } } } } cout<<max1<<" "<<max2<<endl; return 0; } ```
by rxzfn @ 2017-09-24 21:54:04


|