刷cf的时候碰到一个问题1e5不能过1e6反而过了,想知道为什么时间查那么多
这个是题目:https://codeforces.com/contest/1760/problem/E
这是碰到的问题
这是我的代码
```c++
#include<bits/stdc++.h>
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<<ans<<endl;
}
int main(){
ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int t;cin>>t;
while(t--){
solve();
}
return 0;
}
###### 如图所示将100005变成1000005就可以AC 不知道问什么