这个是题目:https://codeforces.com/contest/1760/problem/E
```c++
#include
using namespace std;
using i64=long long;
i64 a[1000005],n;
i64 cal(){
i64 ans=0,num=0;
for(int i=n;i>=1;i--){
if(a[i]==0)num++;
else ans+=num;
}
return ans;
}
void solve(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int pos=0;
for(int i=1;i<=n;i++){
if(!a[i]){
pos=i;
break;
}
}
i64 ans=0;
ans=max(ans,cal());
a[pos]=1;
ans=max(ans,cal());
a[pos]=0;
for(int i=n;i>0;i--){
if(a[i]){
pos=i;
break;
}
}
a[pos]=0;
ans=max(ans,cal());
cout<false);cin.tie(0);cout.tie(0);
int t;cin>>t;
while(t--){
solve();
}
return 0;
}
###### 如图所示将100005变成1000005就可以AC 不知道问什么
数组开大点过不是正常操作吗?应该是数组不够大导致的问题。
这个题目描述是2e5个数据,1e5的数组不够