/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 324.0 KiB
#3 Accepted 1ms 424.0 KiB
#4 Accepted 1ms 432.0 KiB
#5 Accepted 1ms 532.0 KiB
#6 Accepted 1ms 536.0 KiB
#7 Accepted 1ms 532.0 KiB
#8 Accepted 1ms 480.0 KiB
#9 Accepted 1ms 520.0 KiB
#10 Accepted 1ms 432.0 KiB
#11 Accepted 1ms 480.0 KiB
#12 Accepted 1ms 532.0 KiB
#13 Accepted 1ms 532.0 KiB
#14 Accepted 1ms 504.0 KiB
#15 Accepted 1ms 532.0 KiB
#16 Accepted 1ms 532.0 KiB
#17 Accepted 1ms 536.0 KiB
#18 Accepted 2ms 556.0 KiB
#19 Accepted 2ms 536.0 KiB
#20 Accepted 2ms 320.0 KiB
#21 Accepted 2ms 536.0 KiB
#22 Accepted 2ms 532.0 KiB
#23 Accepted 2ms 532.0 KiB
#24 Accepted 2ms 532.0 KiB
#25 Accepted 2ms 532.0 KiB
#26 Accepted 2ms 324.0 KiB
#27 Accepted 2ms 560.0 KiB
#28 Accepted 2ms 764.0 KiB
#29 Accepted 2ms 532.0 KiB
#30 Accepted 4ms 324.0 KiB
#31 Accepted 5ms 532.0 KiB
#32 Accepted 4ms 532.0 KiB
#33 Accepted 4ms 536.0 KiB
#34 Accepted 4ms 532.0 KiB
#35 Accepted 5ms 320.0 KiB
#36 Accepted 5ms 532.0 KiB
#37 Accepted 5ms 532.0 KiB
#38 Accepted 5ms 532.0 KiB
#39 Accepted 5ms 532.0 KiB
#40 Accepted 5ms 532.0 KiB
#41 Accepted 7ms 804.0 KiB
#42 Accepted 6ms 580.0 KiB
#43 Accepted 6ms 532.0 KiB
#44 Accepted 6ms 532.0 KiB
#45 Accepted 6ms 532.0 KiB
#46 Accepted 6ms 532.0 KiB
#47 Accepted 6ms 532.0 KiB
#48 Accepted 6ms 532.0 KiB
#49 Accepted 6ms 532.0 KiB
#50 Accepted 6ms 532.0 KiB
#51 Accepted 7ms 580.0 KiB
#52 Accepted 6ms 532.0 KiB
#53 Accepted 6ms 600.0 KiB
#54 Accepted 6ms 600.0 KiB
#55 Accepted 6ms 580.0 KiB
#56 Accepted 6ms 580.0 KiB
#57 Accepted 6ms 576.0 KiB
#58 Accepted 6ms 536.0 KiB
#59 Accepted 6ms 532.0 KiB
#60 Accepted 6ms 580.0 KiB
#61 Accepted 21ms 884.0 KiB
#62 Accepted 17ms 788.0 KiB
#63 Accepted 7ms 788.0 KiB
#64 Accepted 7ms 788.0 KiB
#65 Accepted 8ms 788.0 KiB
#66 Accepted 9ms 788.0 KiB
#67 Accepted 9ms 940.0 KiB
#68 Accepted 11ms 788.0 KiB
#69 Accepted 10ms 788.0 KiB
#70 Accepted 11ms 760.0 KiB
#71 Accepted 22ms 1.094 MiB
#72 Accepted 18ms 1.02 MiB
#73 Accepted 18ms 1.02 MiB
#74 Accepted 18ms 1.02 MiB
#75 Accepted 18ms 1.02 MiB
#76 Accepted 20ms 996.0 KiB
#77 Accepted 10ms 1.203 MiB
#78 Accepted 12ms 1.02 MiB
#79 Accepted 11ms 1.09 MiB
#80 Accepted 12ms 1.199 MiB
#81 Accepted 17ms 1.281 MiB
#82 Accepted 15ms 1.234 MiB
#83 Accepted 16ms 1.352 MiB
#84 Accepted 21ms 1.332 MiB
#85 Accepted 20ms 1.27 MiB
#86 Accepted 24ms 1.289 MiB
#87 Accepted 17ms 1.27 MiB
#88 Accepted 21ms 1.316 MiB
#89 Accepted 20ms 1.27 MiB
#90 Accepted 21ms 1.27 MiB
#91 Accepted 166ms 7.051 MiB
#92 Accepted 138ms 7.02 MiB
#93 Accepted 143ms 6.914 MiB
#94 Accepted 137ms 7.02 MiB
#95 Accepted 146ms 6.926 MiB
#96 Accepted 170ms 7.02 MiB
#97 Accepted 95ms 6.871 MiB
#98 Accepted 155ms 7.023 MiB
#99 Accepted 130ms 7.027 MiB
#100 Accepted 137ms 6.945 MiB

Code

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;

template <typename T>
using o_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin >> n;
    vector<int> v(n);
    o_set<pair<int, int>> l, r;
    for (int i = 0; i < n; ++i)
    {
        cin >> v[i];
        r.insert({v[i], i});
    }
    int ans = 0;
    for (int i = 0; i < n; ++i)
    {
        int x = v[i];
        r.erase({x, i});
        int chuto = l.order_of_key({x + 1, 0});
        if (chuto >= x)
        {
            ans++;
            l.insert({x, i});
            continue;
        }
        int boro = r.size() - r.order_of_key({x, 0});
        if (boro >= x)
        {
            ans++;
        }
        l.insert({x, i});
    }
    cout << ans << '\n';
    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:11:34
Judged At
2025-04-06 16:11:34
Judged By
Score
100
Total Time
170ms
Peak Memory
7.051 MiB