Submission #526757

# Submission time Handle Problem Language Result Execution time Memory
526757 2022-02-16T04:04:21 Z beepbeepsheep Izbori (COCI22_izbori) C++17
0 / 110
1 ms 460 KB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define ii pair<ll,ll>
#define endl '\n'
const ll inf=1e15;
const ll mod=1e9+7;
const ll maxn=2000+5;

ll arr[maxn];
vector<ll> v;
ll fen[2*maxn];
void upd(ll pos){
    while (pos<2*maxn){
        fen[pos]++;
        pos+=(pos&-pos);
    }
}
ll query(ll pos){
    ll ans=0;
    while (pos){
        ans+=fen[pos];
        pos-=(pos&-pos);
    }
    return ans;
}
int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ll n;
    cin>>n;
    for (int i=0;i<n;i++){
        cin>>arr[i];
    }
    ll ans=0;
    for (int i=1;i<=2;i++){
        ll tot=0;
        memset(fen,0,sizeof(fen));
        upd(2001);
        for (int j=0;j<n;j++){
            if (arr[j]==i){
                tot++;
            }else{
                tot--;
            }
            upd(tot+2001);
            ans+=query(tot+2000);
        }
    }
    cout<<ans;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 1 ms 460 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 332 KB Output isn't correct
2 Halted 0 ms 0 KB -