/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 340.0 KiB
#3 Accepted 1ms 532.0 KiB
#4 Accepted 1ms 480.0 KiB
#5 Accepted 1ms 532.0 KiB
#6 Accepted 1ms 536.0 KiB
#7 Accepted 1ms 532.0 KiB
#8 Accepted 1ms 348.0 KiB
#9 Accepted 1ms 532.0 KiB
#10 Accepted 1ms 532.0 KiB
#11 Accepted 1ms 532.0 KiB
#12 Accepted 1ms 532.0 KiB
#13 Accepted 1ms 532.0 KiB
#14 Accepted 1ms 536.0 KiB
#15 Accepted 1ms 516.0 KiB
#16 Accepted 1ms 324.0 KiB
#17 Accepted 1ms 484.0 KiB
#18 Accepted 1ms 324.0 KiB
#19 Accepted 1ms 532.0 KiB
#20 Accepted 1ms 512.0 KiB
#21 Accepted 1ms 536.0 KiB
#22 Accepted 1ms 532.0 KiB
#23 Accepted 1ms 520.0 KiB
#24 Accepted 1ms 324.0 KiB
#25 Accepted 1ms 532.0 KiB
#26 Accepted 1ms 360.0 KiB
#27 Accepted 1ms 532.0 KiB
#28 Accepted 1ms 560.0 KiB
#29 Accepted 1ms 532.0 KiB
#30 Accepted 1ms 324.0 KiB
#31 Accepted 1ms 524.0 KiB
#32 Accepted 1ms 380.0 KiB
#33 Accepted 1ms 444.0 KiB
#34 Accepted 1ms 320.0 KiB
#35 Accepted 1ms 324.0 KiB
#36 Accepted 1ms 532.0 KiB
#37 Accepted 1ms 532.0 KiB
#38 Accepted 1ms 536.0 KiB
#39 Accepted 1ms 532.0 KiB
#40 Accepted 1ms 532.0 KiB
#41 Accepted 2ms 532.0 KiB
#42 Accepted 2ms 600.0 KiB
#43 Accepted 2ms 532.0 KiB
#44 Accepted 2ms 536.0 KiB
#45 Accepted 2ms 532.0 KiB
#46 Accepted 2ms 448.0 KiB
#47 Accepted 2ms 532.0 KiB
#48 Accepted 2ms 536.0 KiB
#49 Accepted 2ms 532.0 KiB
#50 Accepted 2ms 532.0 KiB
#51 Accepted 2ms 532.0 KiB
#52 Accepted 2ms 532.0 KiB
#53 Accepted 2ms 532.0 KiB
#54 Accepted 6ms 532.0 KiB
#55 Accepted 6ms 532.0 KiB
#56 Accepted 6ms 532.0 KiB
#57 Accepted 6ms 532.0 KiB
#58 Accepted 6ms 444.0 KiB
#59 Accepted 6ms 532.0 KiB
#60 Accepted 6ms 532.0 KiB
#61 Accepted 19ms 1020.0 KiB
#62 Accepted 12ms 1.02 MiB
#63 Accepted 12ms 1.02 MiB
#64 Accepted 12ms 852.0 KiB
#65 Accepted 11ms 1016.0 KiB
#66 Accepted 12ms 1016.0 KiB
#67 Accepted 10ms 872.0 KiB
#68 Accepted 12ms 816.0 KiB
#69 Accepted 11ms 1008.0 KiB
#70 Accepted 12ms 1008.0 KiB
#71 Accepted 20ms 1.27 MiB
#72 Accepted 11ms 1.27 MiB
#73 Accepted 11ms 1.27 MiB
#74 Accepted 11ms 1.27 MiB
#75 Accepted 11ms 1.336 MiB
#76 Accepted 12ms 1.34 MiB
#77 Accepted 10ms 1.336 MiB
#78 Accepted 12ms 1.316 MiB
#79 Accepted 11ms 1.242 MiB
#80 Accepted 12ms 1.27 MiB
#81 Accepted 16ms 1.688 MiB
#82 Accepted 15ms 1.52 MiB
#83 Accepted 16ms 1.492 MiB
#84 Accepted 16ms 1.789 MiB
#85 Accepted 13ms 1.422 MiB
#86 Accepted 18ms 1.52 MiB
#87 Accepted 15ms 1.5 MiB
#88 Accepted 21ms 1.43 MiB
#89 Accepted 19ms 1.406 MiB
#90 Accepted 21ms 1.492 MiB
#91 Accepted 123ms 8.82 MiB
#92 Accepted 133ms 8.816 MiB
#93 Accepted 178ms 8.77 MiB
#94 Accepted 172ms 8.895 MiB
#95 Accepted 158ms 8.746 MiB
#96 Accepted 165ms 8.949 MiB
#97 Accepted 94ms 8.871 MiB
#98 Accepted 151ms 8.945 MiB
#99 Accepted 119ms 8.77 MiB
#100 Accepted 138ms 8.77 MiB

Code

#ifndef LOCAL
#include <bits/stdc++.h>
#define debug(...)
#endif

#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;
#define int long long
#define cinv(v) for (auto &it:v) cin>>it;
#define coutv(v) for (auto &it:v) cout<< it<<' '; cout<<'\n';
template<typename T> using ordered_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;

void shelby() {
    int n;
    cin >> n;
    vector<int> v(n);
    cinv(v)
    auto calc = [&]()-> vector<int> {
        vector<int> ret(n);
        ordered_set<int> o;
        for (int i = 0; i < n; ++i) {
            if (o.order_of_key(v[i] + 1) >= abs(v[i])) ret[i] = 1;
            debug(o.order_of_key(v[i]+1), v[i], abs(v[i]), ret[i]);
            debug(o.order_of_key(v[i]+1)>=v[i]);
            o.insert(v[i]);
        }
        debug(ret);
        return ret;
    };
    vector<int> ans = calc();
    for (auto &it: v) it *= -1;
    reverse(v.begin(), v.end());
    debug(v);
    vector<int> ans2 = calc();
    reverse(ans2.begin(), ans2.end());
    int cnt = 0;
    for (int i = 0; i < n; ++i) cnt += (ans[i] | ans2[i]);
    cout << cnt << '\n';
}

signed main() {
    cin.tie(0)->sync_with_stdio(0);
    int t = 1;
    // cin >> t;
    for (int _ = 1; _ <= t; ++_) {
        // cout << "Case " << _ << ": ";
        shelby();
    }
}

Information

Submit By
Type
Submission
Problem
P1184 The Curious Kid and the Number Game
Language
C++17 (G++ 13.2.0)
Submit At
2025-04-09 07:11:12
Judged At
2025-04-09 07:11:12
Judged By
Score
100
Total Time
178ms
Peak Memory
8.949 MiB