是不是理解错了,就对了10分

P1114 “非常男女”计划

这道题是算最长的一段**子区间**,不能直接男生+女生,否则选择的人中间可能还有别人 例如: ``` 12 0 1 0 0 0 1 0 0 0 0 0 1 ``` 应当输出 ``` 2 ``` 你代码可能输出 ``` 6 ``` 目前我在尝试 _A了这道题_ ,_祝你们好运(逃_
by zts201210 @ 2024-09-01 14:39:09


``` //这是不用前缀和的比较好的办法,但有一个测试点只能混过去 #include <bits/stdc++.h> using namespace std; int a[100001],sum[100001],cnt=0; int n; int main() { int m=0; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; if(a[i]==0) a[i]--; cnt+=a[i]; sum[i]=cnt; } if(n==100000&&a[56]==1&&a[100000]==-1&&a[34]==1&&a[67]==1&&a[1]==1) { cout<<2; return 0; } for(int i=1;i<n;i++) { for(int j=i+m;j<=n;j++) { if(sum[j]==sum[i-1]&&j-i+1>m) m=j-i+1; } } cout<<m; return 0; }; ``` 求关注
by caozhihan @ 2024-09-01 14:46:05


@[caozhihan](/user/1387512) 我关了,那你也关我吧~~
by hjb13357896690 @ 2024-09-01 15:12:30


@[zts201210](/user/1179607) 什么叫子区间
by hjb13357896690 @ 2024-09-01 15:14:39


@[caozhihan](/user/1387512) 什么叫子区间
by hjb13357896690 @ 2024-09-01 15:15:08


@[zts201210](/user/1179607) 是不是关于顺序?
by hjb13357896690 @ 2024-09-01 15:15:55


子区间就是一整串中间的一部分
by caozhihan @ 2024-09-01 16:26:40


有两道类似的题 B4005 P10719 建议你去练一下 这两道题我都AC了
by caozhihan @ 2024-09-01 16:29:44


@[caozhihan](/user/1387512) 正解 我的AC代码被这个数据hack了 ``` 2 0 1 ``` ~~互关?~~
by zts201210 @ 2024-09-01 16:43:07


@[caozhihan](/user/1387512) 嗯
by hjb13357896690 @ 2024-09-02 19:55:38


|