/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 1ms 324.0 KiB
#4 Accepted 1ms 484.0 KiB
#5 Accepted 1ms 532.0 KiB
#6 Accepted 1ms 348.0 KiB
#7 Accepted 1ms 532.0 KiB
#8 Accepted 1ms 516.0 KiB
#9 Accepted 1ms 532.0 KiB
#10 Accepted 1ms 532.0 KiB
#11 Accepted 1ms 532.0 KiB
#12 Accepted 1ms 444.0 KiB
#13 Accepted 1ms 532.0 KiB
#14 Accepted 1ms 372.0 KiB
#15 Accepted 1ms 532.0 KiB
#16 Accepted 1ms 532.0 KiB
#17 Accepted 1ms 532.0 KiB
#18 Accepted 1ms 344.0 KiB
#19 Accepted 1ms 436.0 KiB
#20 Accepted 1ms 532.0 KiB
#21 Accepted 1ms 532.0 KiB
#22 Accepted 1ms 324.0 KiB
#23 Accepted 1ms 484.0 KiB
#24 Accepted 1ms 348.0 KiB
#25 Accepted 1ms 448.0 KiB
#26 Accepted 1ms 496.0 KiB
#27 Accepted 1ms 320.0 KiB
#28 Accepted 1ms 516.0 KiB
#29 Accepted 1ms 532.0 KiB
#30 Accepted 1ms 324.0 KiB
#31 Accepted 1ms 504.0 KiB
#32 Accepted 1ms 532.0 KiB
#33 Accepted 1ms 488.0 KiB
#34 Accepted 1ms 324.0 KiB
#35 Accepted 1ms 324.0 KiB
#36 Accepted 1ms 532.0 KiB
#37 Accepted 1ms 532.0 KiB
#38 Accepted 1ms 344.0 KiB
#39 Accepted 1ms 532.0 KiB
#40 Accepted 1ms 484.0 KiB
#41 Accepted 2ms 600.0 KiB
#42 Accepted 1ms 504.0 KiB
#43 Accepted 1ms 372.0 KiB
#44 Accepted 1ms 524.0 KiB
#45 Accepted 1ms 532.0 KiB
#46 Accepted 1ms 536.0 KiB
#47 Accepted 1ms 532.0 KiB
#48 Accepted 2ms 532.0 KiB
#49 Accepted 2ms 480.0 KiB
#50 Accepted 2ms 532.0 KiB
#51 Accepted 3ms 532.0 KiB
#52 Accepted 4ms 532.0 KiB
#53 Accepted 5ms 532.0 KiB
#54 Accepted 5ms 576.0 KiB
#55 Accepted 5ms 532.0 KiB
#56 Accepted 5ms 532.0 KiB
#57 Accepted 5ms 532.0 KiB
#58 Accepted 5ms 532.0 KiB
#59 Accepted 5ms 532.0 KiB
#60 Accepted 5ms 532.0 KiB
#61 Accepted 10ms 788.0 KiB
#62 Accepted 7ms 856.0 KiB
#63 Accepted 7ms 788.0 KiB
#64 Accepted 8ms 872.0 KiB
#65 Accepted 8ms 788.0 KiB
#66 Accepted 7ms 788.0 KiB
#67 Accepted 7ms 860.0 KiB
#68 Accepted 7ms 792.0 KiB
#69 Accepted 7ms 700.0 KiB
#70 Accepted 7ms 788.0 KiB
#71 Accepted 15ms 876.0 KiB
#72 Accepted 9ms 1.02 MiB
#73 Accepted 9ms 1.02 MiB
#74 Accepted 11ms 1.02 MiB
#75 Accepted 11ms 1.066 MiB
#76 Accepted 10ms 1.02 MiB
#77 Accepted 9ms 1.066 MiB
#78 Accepted 10ms 1.066 MiB
#79 Accepted 9ms 880.0 KiB
#80 Accepted 9ms 1.02 MiB
#81 Accepted 17ms 1.188 MiB
#82 Accepted 11ms 1.086 MiB
#83 Accepted 11ms 1.02 MiB
#84 Accepted 10ms 1.172 MiB
#85 Accepted 5ms 1.02 MiB
#86 Accepted 11ms 1.145 MiB
#87 Accepted 11ms 1.02 MiB
#88 Accepted 11ms 1.145 MiB
#89 Accepted 11ms 992.0 KiB
#90 Accepted 10ms 1.02 MiB
#91 Accepted 54ms 5.816 MiB
#92 Accepted 21ms 5.77 MiB
#93 Accepted 23ms 5.77 MiB
#94 Accepted 49ms 5.723 MiB
#95 Accepted 24ms 5.77 MiB
#96 Accepted 22ms 5.816 MiB
#97 Accepted 22ms 5.875 MiB
#98 Accepted 49ms 5.77 MiB
#99 Accepted 20ms 5.77 MiB
#100 Accepted 21ms 5.77 MiB

Code

#include <bits/stdc++.h>
using namespace std;
#define ll long long int
vector<ll>st;
ll sz;

void fenwick_update(ll idx, ll val) {
    while(idx<=sz) {
        st[idx]+=val;
        idx+=(idx&-idx);
    }
}

ll fenwick_query(ll idx) {
    ll sum=0;
    while(idx > 0) {
        sum+=st[idx];
        idx-=(idx&-idx);
    }
    return sum;
}

ll cnt(vector<ll> v) {
    ll n = v.size();
    vector<ll>p;
    p=v;
    sort(p.begin(),p.end());

    vector<ll>cmp(n);
    for (ll i=0;i<n;++i) {
        cmp[i]=lower_bound(p.begin(),p.end(),v[i])-p.begin()+1;
    }

    sz=n;
    st.assign(n+1,0); 
    vector<ll> r(n, 0), l(n, 0);

    
    for (ll i=n-1;i>=0;--i) {
        r[i] = fenwick_query(n)-fenwick_query(cmp[i]-1);
        fenwick_update(cmp[i],1);
    }

    st.assign(n + 1, 0);
    
    for (ll i = 0; i < n; ++i) {
        l[i] = fenwick_query(cmp[i]);
        fenwick_update(cmp[i],1);
    }

    
    ll ans = 0;
    for (ll i=0;i<n;++i) {
        if (r[i]>=v[i] || l[i]>=v[i]){
            ans++;
        }
    }

    return ans;
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    ll n;
    cin >> n;
    vector<ll>v(n);
    for (ll i=0;i<n;++i) {
        cin>>v[i];
    }

    ll ans=cnt(v);
    cout<<ans<<endl;

    return 0;
}

Information

Submit By
Type
Submission
Problem
P1184 The Curious Kid and the Number Game
Contest
Brain Booster #9
Language
C++17 (G++ 13.2.0)
Submit At
2025-04-06 16:51:20
Judged At
2025-04-06 16:51:20
Judged By
Score
100
Total Time
54ms
Peak Memory
5.875 MiB