标记数组(哈希)
1e6的范围,开一个char数组全然能够,有人为1,无人为0,注意边界就可以。最后线性扫描就可以。
时间复杂度,应该是O(n),n为最后结束的时间。
缺点就是……比較慢
/* ID:twd30651 PROG:milk2 LANG:C++*/#include#include #include #include char a[1000001];using namespace std;int N;int main(int argc,char *argv[]){ freopen("milk2.in","r",stdin); freopen("milk2.out","w",stdout); scanf("%d",&N); memset(a,0,sizeof(a)); int start; int end; int mins=1000000; int maxe=0; for(int i=0;i maxe)maxe=end; for(int j=start;j max1)max1=l1; } else l1=0; if(flag2==a[i]) { ++l2; if(l2>max2)max2=l2; } else { l2=0; } } printf("%d %d\n",max1,max2); return 0;}