Submission #1276057

#TimeUsernameProblemLanguageResultExecution timeMemory
1276057hamligar555Bubble Sort Machine (JOI25_bubble)C++20
0 / 100
1524 ms75740 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pll pair<ll,ll> 

// B O I
// 1 2 3

vector<ll> fen;
vector<ll> vt;
ll sz;

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

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

ll que(ll l,ll r){
    if(r<l || r>sz)
        return 0;
    return sum(r)-sum(l-1);
}

void solve(){
    ll n;
    cin>>n;

    vt.resize(n+1);
    
    vector<ll> ori(n+1);
    set<ll> st;
    map<ll,ll> mp;
    for(ll i=1;i<=n;i++){
        cin>>vt[i];
        st.insert(vt[i]);
    }
    ori=vt;

    ll num=1;
    for(auto &e:st)
        mp[e]=num++;
    for(auto &e:vt)
        e=mp[e];
    sz=num+10;
    fen.resize(sz,0);

    // // cari banyak elemen di belakang yang strict lebih besar
    vector<ll> cnt(n+1);
    for(ll i=1;i<=n;i++){
        cnt[i]=que(vt[i]+1,num);
        upd(vt[i],1);
    }
    vt.clear();
    vt=ori;

    ll q;
    cin>>q;

    ll op=0;
    vector<ll> ans(n+1);

    for(ll i=1;i<=n;i++){
        if(cnt[i]==i-1){
            ans[i-1]=vt[i];
        }
    }

    while(q--){
        ll t;
        cin>>t;
        if(t==1){
            op++;
        }else{
            ll l,r;
            cin>>l>>r;
            cout<<ans[op]<<endl;
        }
    }


}

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

    // freopen("input.txt","r",stdin);
    // freopen("output.txt","w",stdout);

    solve();

}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...