/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 1ms 532.0 KiB
#4 Accepted 1ms 324.0 KiB
#5 Accepted 1ms 444.0 KiB
#6 Accepted 1ms 488.0 KiB
#7 Accepted 1ms 364.0 KiB
#8 Accepted 1ms 416.0 KiB
#9 Accepted 1ms 536.0 KiB
#10 Accepted 1ms 324.0 KiB
#11 Accepted 1ms 344.0 KiB
#12 Accepted 1ms 532.0 KiB
#13 Accepted 1ms 532.0 KiB
#14 Accepted 2ms 532.0 KiB
#15 Accepted 3ms 532.0 KiB
#16 Accepted 4ms 532.0 KiB
#17 Accepted 4ms 320.0 KiB
#18 Accepted 4ms 532.0 KiB
#19 Accepted 4ms 532.0 KiB
#20 Accepted 4ms 532.0 KiB
#21 Accepted 4ms 532.0 KiB
#22 Accepted 4ms 532.0 KiB
#23 Accepted 4ms 532.0 KiB
#24 Accepted 4ms 532.0 KiB
#25 Accepted 4ms 440.0 KiB
#26 Accepted 4ms 532.0 KiB
#27 Accepted 4ms 532.0 KiB
#28 Accepted 4ms 532.0 KiB
#29 Accepted 5ms 332.0 KiB
#30 Accepted 4ms 532.0 KiB
#31 Accepted 5ms 532.0 KiB
#32 Accepted 4ms 532.0 KiB
#33 Accepted 4ms 532.0 KiB
#34 Accepted 5ms 532.0 KiB
#35 Accepted 4ms 532.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 672.0 KiB
#42 Accepted 6ms 532.0 KiB
#43 Accepted 6ms 536.0 KiB
#44 Accepted 6ms 600.0 KiB
#45 Accepted 6ms 576.0 KiB
#46 Accepted 6ms 764.0 KiB
#47 Accepted 6ms 532.0 KiB
#48 Accepted 6ms 532.0 KiB
#49 Accepted 6ms 532.0 KiB
#50 Accepted 6ms 600.0 KiB
#51 Accepted 6ms 600.0 KiB
#52 Accepted 6ms 580.0 KiB
#53 Accepted 6ms 660.0 KiB
#54 Accepted 6ms 532.0 KiB
#55 Accepted 6ms 532.0 KiB
#56 Accepted 6ms 532.0 KiB
#57 Accepted 6ms 536.0 KiB
#58 Accepted 6ms 532.0 KiB
#59 Accepted 6ms 532.0 KiB
#60 Accepted 6ms 532.0 KiB
#61 Accepted 19ms 1.02 MiB
#62 Accepted 11ms 1.246 MiB
#63 Accepted 8ms 976.0 KiB
#64 Accepted 8ms 1.035 MiB
#65 Accepted 7ms 1.02 MiB
#66 Accepted 8ms 1.121 MiB
#67 Accepted 7ms 972.0 KiB
#68 Accepted 8ms 1.02 MiB
#69 Accepted 8ms 1.066 MiB
#70 Accepted 8ms 1.145 MiB
#71 Accepted 20ms 1.473 MiB
#72 Accepted 17ms 1.422 MiB
#73 Accepted 17ms 1.512 MiB
#74 Accepted 17ms 1.465 MiB
#75 Accepted 16ms 1.562 MiB
#76 Accepted 17ms 1.367 MiB
#77 Accepted 15ms 1.52 MiB
#78 Accepted 17ms 1.52 MiB
#79 Accepted 16ms 1.34 MiB
#80 Accepted 17ms 1.352 MiB
#81 Accepted 25ms 1.77 MiB
#82 Accepted 16ms 1.773 MiB
#83 Accepted 19ms 1.598 MiB
#84 Accepted 20ms 1.77 MiB
#85 Accepted 18ms 1.77 MiB
#86 Accepted 20ms 1.59 MiB
#87 Accepted 17ms 1.785 MiB
#88 Accepted 20ms 1.77 MiB
#89 Accepted 18ms 1.664 MiB
#90 Accepted 13ms 1.77 MiB
#91 Accepted 120ms 10.629 MiB
#92 Accepted 140ms 10.836 MiB
#93 Accepted 118ms 10.629 MiB
#94 Accepted 119ms 10.855 MiB
#95 Accepted 106ms 10.645 MiB
#96 Accepted 120ms 10.859 MiB
#97 Accepted 82ms 10.691 MiB
#98 Accepted 118ms 10.723 MiB
#99 Accepted 103ms 10.617 MiB
#100 Accepted 115ms 10.625 MiB

Code

/**
 *    author:   Binoy Barman
 *    created:  2025-04-06 21:24:16
**/

#include<bits/stdc++.h>
#ifdef LOCAL
#include "algo/debug.h"
#else
#define dbg(...) 42
#endif
using namespace std;
using ll = long long;
const int mod = 1e9 + 7;
const int inf = 2e9;

// #define int long long
#define nl '\n'
#define all(v) v.begin(), v.end()
#define clg(x) (32 - __builtin_clz(x))
#define Testcase_Handler int tts, tc = 0; cin >> tts; hell: while(tc++ < tts)
#define uniq(v) sort(all(v)), v.resize(distance(v.begin(), unique(v.begin(), v.end())))
template<class T> using minheap = priority_queue<T, vector<T>, greater<T>>;
template<typename T> istream& operator>>(istream& in, vector<T>& a) {for(auto &x : a) in >> x; return in;};
template<typename A, typename B> istream& operator>>(istream& in, pair<A, B>& p) {in >> p.first >> p.second; return in;};
template<typename T> ostream& operator<<(ostream& out, vector<T>& a) {bool first = true;for(auto &x : a) {if(!first) out << ' ';first = false;out << x;}return out;};

namespace Dark_Lord_Binoy {
inline void init() {
    ios::sync_with_stdio(false); 
    cin.tie(nullptr);

    #ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif
}
}

#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;

template <typename T> 
using o_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;
// order_of_key (k) : Number of items strictly smaller than k . O(logn)
// find_by_order(k) : K-th element in a set (counting from zero). O(logn)
// erase(k) : s.erase(s.find_by_order(s.order_of_key(k)));
template <typename T> 
using og_set = tree<T, null_type, greater_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;


int32_t main() {
    Dark_Lord_Binoy::init();

    int n;
    cin >> n;
    vector<int> a(n), pre(n, 0), suf(n, 0);
    o_set<int> s;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
        pre[i] = s.order_of_key(a[i] + 1);
        s.insert(a[i]);
    }
    og_set<int> f;
    for (int i = n - 1; i >= 0; i--) {
        suf[i] = f.order_of_key(a[i] - 1);
        f.insert(a[i]);
    }
    int ans = 0;
    for (int i = 0; i < n; i++) {
        if(pre[i] >= a[i] || suf[i] >= a[i]) {
            ans++;
        }
    }
    cout << ans << nl;

    dbg(_Time_);
    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:33:22
Judged At
2025-04-06 16:33:22
Judged By
Score
100
Total Time
140ms
Peak Memory
10.859 MiB