这是第一题的: #include <bits/stdc++.h> using namespace std; const int N = 100005; int n; int a[N]; int s[N]; int all; int maxadd; int q[N]; int t = 0,h = 1; int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) { s[i]=s[i-1]+a[i]; } all = s[n]; int l = 1,r = 1; for(;l<=n;l++) { if(!a[l]) break; } r = l; while(l<=n&;&;r<=n) { int call = r-l+1; int c1 = s[r]-s[l-1]; int c0 = call-c1; int addd = c0-c1; maxadd = max(maxadd,addd); if(c1>=c0) { r++;l = r;continue; }else if(c1==call){ while(l<=n&;&;l==r&;&;(s[r]-s[l-1])==(r-l+1)){ //l==r l++,r++; // call = r-l+1; // c1 = s[r]-s[l-1]; // c0 = call-c1; } }else r++; // cout<<l<<" "<<r<<endl; } cout<<all+maxadd<<endl; return 0; }
点赞 评论

相关推荐

Z_eus:别打招呼直接发你的优势
点赞 评论 收藏
分享
内向的柠檬精在研究求职打法:你们广东工业大学为啥这么多字节,好吓人,还有那个东北大学,重庆邮电,太哈人了
点赞 评论 收藏
分享
牛客网
牛客企业服务